System and method for monitoring a building

ABSTRACT

A building monitoring system includes a sensor configured to sense a condition and collect sensor data related to the sensed condition. The building monitoring system also includes a server configured to receive the sensor data. The server is configured to analyze the sensor data to detect an undesirable condition and a threat from the undesirable condition within a structure and automatically issue a notification upon detection of the undesirable condition and the threat.

CROSS REFERENCE TO RELATED APPLICATIONS

The present application claims priority from U.S. Provisional PatentApplication No. 62/480,576 filed on Apr. 3, 2017, and U.S. ProvisionalPatent Application No. 62/480,615 also filed on Apr. 3, 2017, both ofwhich are incorporated by reference in their entirety herein. Thepresent application is also related to U.S. application Ser. No.15/099,786 filed on Apr. 15, 2016, now U.S. Pat. No. 9,679,255, which isalso incorporated by reference in its entirety herein.

BACKGROUND

The following description is provided to assist the understanding of thereader. None of the information provided or references cited is admittedto be prior art.

Monitoring of various conditions within a structure, such as an officebuilding, a warehouse, or a home, may be desired under manycircumstances. For example, it may be desired to sense smoke within thebuilding. It may also be desired to sense temperature, humidity, levelsof carbon monoxide, flooding, motion, and various other conditionswithin the building. The sensed condition may be indicative of a threat,such as a fire or burglary within the building. In many instances, bythe time the threat is detected and emergency response personnel arecalled, severe damage has already occurred to the building and to peopleand property within the building.

SUMMARY

In accordance with some aspects of the present disclosure, a buildingmonitoring system is disclosed. The building monitoring system includesa sensor configured to sense a condition and collect sensor data relatedto the sensed condition; and a server configured to receive the sensordata. The server is configured to analyze the sensor data to detect anundesirable condition and a threat from the undesirable condition withina structure and automatically issue a notification upon detection of theundesirable condition and the threat.

In accordance with some other aspects of the present disclosure, amethod for using a building monitoring system is disclosed. The methodincludes receiving, by a gateway of the building monitoring system,sensor data from a sensor installed within a building, transmitting, bythe gateway, the sensor data to a server of the building monitoringsystem, and analyzing, by the server, the sensor data to detect anundesirable condition and a threat from the undesirable condition. Themethod also includes automatically issuing, by the server, anotification to one or more users upon detecting the undesirablecondition and the threat.

In accordance with yet other aspects of the present disclosure, a methodfor installing a building monitoring system is disclosed. The methodincludes receiving, by a server, an identification code of a sensor tobe associated with the building monitoring system and programming, bythe server, a gateway with the identification code. The gateway isinstalled in a building to be monitored by the building monitoringsystem. The method also includes creating, by the server, a buildingmonitoring system account for the building and associating, by theserver, the gateway with the building monitoring system account.

The foregoing summary is illustrative only and is not intended to be inany way limiting. In addition to the illustrative aspects, embodiments,and features described above, further aspects, embodiments, and featureswill become apparent.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a building monitoring system, in accordancewith some embodiments of the present disclosure.

FIG. 2 is a block diagram of a gateway of the building monitoring systemof FIG. 1, in accordance with some embodiments of the presentdisclosure.

FIG. 3 is another block diagram illustrating communication between thegateway and a server of the building monitoring system of FIG. 1, inaccordance with some embodiments of the present disclosure.

FIG. 4 is a network diagram illustrating detection of a risk of a threatusing the building monitoring system of FIG. 1, in accordance with someembodiments of the present disclosure.

FIGS. 5A-5B are example charts illustrating determination of aprobability of the risk of FIG. 4, in accordance with some embodimentsof the present disclosure.

FIGS. 6A-6B are example graphs illustrating detection of a threat fromundesirable conditions, in accordance with some embodiments of thepresent disclosure.

FIGS. 7A-7D are example reports generated by the building monitoringsystem of FIG. 1, in accordance with some embodiments of the presentdisclosure.

FIGS. 8A-8E are example reports of a building information systemgenerated by the building monitoring system of FIG. 1, in accordancewith some embodiments of the present disclosure.

FIG. 9 is a block diagram of a monitoring computer used within thebuilding monitoring system of FIG. 1, in accordance with someembodiments of the present disclosure.

FIGS. 10A-10E are example interfaces of an installer mobile applicationof the building monitoring system of FIG. 1, in accordance with someembodiments of the present disclosure.

FIGS. 11A-11E are example interfaces of a customer mobile application ofthe building monitoring system of FIG. 1, in accordance with someembodiments of the present disclosure.

FIG. 12 is an example flowchart outlining operations performed by thegateway of the building monitoring system of FIG. 1 in monitoring thebuilding, in accordance with some embodiments of the present disclosure.

FIG. 13 is an example flowchart outlining operations performed by theserver of the building monitoring system of FIG. 1 in monitoring thebuilding, in accordance with some embodiments of the present disclosure.

FIG. 14 is an example flowchart outlining operations performed by theinstaller mobile application in installing the building monitoringsystem of FIG. 1 within the building, in accordance with someembodiments of the present disclosure.

FIG. 15 is an example flowchart outlining operations performed by theserver in installing the building monitoring system of FIG. 1 within thebuilding, in accordance with some embodiments of the present disclosure.

FIG. 16 is a block diagram of a monitoring system, in accordance withsome other embodiments of the present disclosure.

FIG. 17 is a map of a building in accordance with some embodiments ofthe present disclosure.

FIGS. 18A-18D are flow charts for a method of monitoring a building inaccordance with some embodiments of the present disclosure.

FIG. 19 is a flow chart for a neuron for determining a chance of fire inaccordance with some embodiments of the present disclosure.

The foregoing and other features of the present disclosure will becomeapparent from the following description and appended claims, taken inconjunction with the accompanying drawings. Understanding that thesedrawings depict only several embodiments in accordance with thedisclosure and are, therefore, not to be considered limiting of itsscope, the disclosure will be described with additional specificity anddetail through use of the accompanying drawings.

DETAILED DESCRIPTION

In the following detailed description, reference is made to theaccompanying drawings, which form a part hereof. In the drawings,similar symbols typically identify similar components, unless contextdictates otherwise. The illustrative embodiments described in thedetailed description, drawings, and claims are not meant to be limiting.Other embodiments may be utilized, and other changes may be made,without departing from the spirit or scope of the subject matterpresented here. It will be readily understood that the aspects of thepresent disclosure, as generally described herein, and illustrated inthe figures, can be arranged, substituted, combined, and designed in awide variety of different configurations, all of which are explicitlycontemplated and make part of this disclosure.

Buildings such as homes, schools, theatres, office buildings,warehouses, etc. often include devices that monitor one or moreconditions of the building. For example, smoke detectors may be used todetect a level of smoke in a room, occupancy sensors may be used todetect the number of people in a space, temperature sensors may be usedto detect the temperature of a room, etc. Data from such sensors may becollected and analyzed to detect threats such as fires, high levels oftoxic or explosive gasses (e.g., carbon monoxide, methane, etc.),floods, high levels of humidity, etc. In some instances, the threat maybe immediate (e.g., a fire). In other instances, the threat may beremote (e.g., leading to premature failure of a component). For example,the sensors may be configured to transmit data regarding their sensedconditions to a central processing system (e.g., a server) that mayanalyze the information to detect the threats.

Once the central processing system detects the threat, the centralprocessing system may notify appropriate personnel. For example, thecentral processing system may notify a homeowner or an emergencyresponse center (e.g., a police station or fire department) that thethreat has occurred or is about to occur. The central processing systemmay continue to analyze the data from the sensors during the threat todetect patterns that the homeowner and/or the emergency response crewmay use to devise and execute an emergency rescue plan. For example, thecentral processing system may predict fire spreading patterns within aburning building for fire fighters to use to rescue people, pets, and/orproperty from within the burning building, and otherwise to devise andexecute a rescue plan.

The central processing system may also compile a variety of reportsusing the data from the sensors. The central processing system may makethe reports available on a user interface for review.

FIG. 1 is a block diagram of a building monitoring system 100 is shown,in accordance with some embodiments of the present disclosure. Thebuilding monitoring system 100 includes a building 105, sensors 110, agateway 115, a server 120, a user interface 125, a monitoring computer130, and an analytics system 135. In alternative embodiments,additional, fewer, and/or different elements may be used. The sensors110 sense a condition (a “sensed condition”) and communicate informationrelated to the sensed condition to the gateway 115. The gateway 115sends the received information to the server 120, which collaborateswith the analytics system 135 to detect undesirable conditions (e.g.,smoke, abnormal temperatures, etc.) and a threat (e.g., fire) from thoseundesirable conditions. The server 120 also issues one or morenotifications related to the undesirable conditions and the threat andcan generates various reports, as discussed below.

To gather information related to the sensed conditions within thebuilding 105, the building monitoring system 100 includes the sensors110. In some embodiments, the sensors 110 are located throughout thebuilding. For example, in some embodiments, the sensors 110 includesensors 140, 145, 150, 155, 160, and 165 that may be located at variouspoints within the building 105. For example, the sensors 140, 145, 150,155, 160, and 165 may be located in strategic locations within thebuilding 105 based on the sensed condition. For example, a water levelsensor configured to detect a sensed condition of flooding or excesswater may be located in an area of the building 105 where flooding ismore likely to occur (e.g., a basement). Likewise, a sensed conditionmay be smoke for which a smoke sensor may be located in a kitchen tomonitor for smoke in the kitchen. Therefore, the location of the sensors110 within the building 105 may vary based upon the sensed conditionthat those sensors are configured to detect, and the area within thebuilding where the sensed conditions are more likely to occur.

In other embodiments, instead of locating the sensors 140, 145, 150,155, 160, and 165 throughout the building 105, the sensors may beconcentrated in one or more specific areas (e.g., floor, room, etc.) ofthe building where an undesirable event (e.g., smoke, abnormaltemperature) or a threat (e.g., fire) is to be monitored.

Further, each of the sensors 140, 145, 150, 155, 160, and 165 isconfigured to communicate with the gateway 115 via a communication link170 to transfer data collected by the sensors to the gateway. Thesensors 140, 145, 150, 155, 160, and 165 may communicate any suitableinformation to the gateway 115 related to the sensed condition. In someembodiments, each of the sensors 140, 145, 150, 155, 160, and 165 maycommunicate an identification number of the respective sensor inaddition to the information related to the sensed condition to thegateway 115. In alternative embodiments, the sensors 110 may communicatedifferent or additional information to the gateway 115. The aggregate ofthe information conveyed by the sensors 140, 145, 150, 155, 160, and 165to the gateway 115 is termed as “sensor data” herein.

The gateway 115, in turn, communicates with the server 120, viacommunication link 175, to transmit the sensor data received from thesensors 140, 145, 150, 155, 160, and 165 to the server for furtherprocessing and cataloguing. In the embodiment shown in FIG. 1, theserver 120 is remote from the building 105. When remote, the server 120may be implemented in a cloud-based computing system or located in aremote monitoring facility. In alternative embodiments, the server 120may be located within the building 105. In some embodiments, the gateway115 and the server 120 may be implemented in a single device thatcommunicates with the sensors 140, 145, 150, 155, 160, and 165.

The server 120 may provide several functionalities. For example, in someembodiments, the server 120 provides a repository to store the sensordata received from the gateway 115. In other embodiments, the server 120collaborates with the analytics system 135 (as indicated bycommunication link 180) to detect undesirable conditions and threats inthe building 105. In yet other embodiments, the server 120 compilesvarious reports and makes those reports available for review. Inalternative embodiments, the server 120 sends one or more notifications(e.g., alerts and alarms) on the user interface 125 and the monitoringcomputer 130 via communication links 185. In some embodiments, theserver 120 automatically contacts an emergency response center (e.g.,dial 911, call the police station, the fire department, etc.) upondetecting a threat. These functionalities of the server 120 arediscussed in further detail below. In other embodiments, the server 120may be programmed to perform other, fewer, or additional functionalitiesthat may be deemed useful to incorporate in the building monitoringsystem 100.

The analytics system 135, in some embodiments, may perform theprocessing for the server 120 on the sensor data received from thegateway 115. Although the analytics system 135 has been shown separatefrom the server 120 in FIG. 1, in some embodiments, the analytics systemmay be integrated into the server 120.

The user interface 125 may be used by a user to receive notificationsfrom the server 120, and take additional actions based upon thosenotifications. By monitoring the notifications from the server 120, theuser may monitor the building 105 for undesirable conditions andthreats. In some embodiments, the user interface 125 includes a buildingdashboard 190A that may be used, for example, by a building or propertymanager, to monitor undesirable conditions and threats in one or morebuildings of a site (e.g., a university), multiple areas of onebuilding, or a combination thereof. In some embodiments, the buildingdashboard 190A is stationary and fixed to the building 105 (e.g., on awall, in a panel, etc.). The user interface 125 also includes a firstmobile device 190B and a second mobile device 190C.

In some embodiments, the first mobile device 190B and the second mobiledevice 190C are portable devices associated with a user. For example, insome embodiments, either or both of the first mobile device 190B and thesecond mobile device 190C are smartphones or other cellular devices,wearable computing device (e.g., eyewear, a watch, bracelet, etc.),tablet, portable gaming device, laptop, etc. In other embodiments, thefirst mobile device 190B and the second mobile device 190C may beanother type of portable computing device that is configured to exchangeinformation with the server 120 via the communication link 185. Toexchange information with the server 120, either or both of the firstmobile device 190B and the second mobile device 190C may include one ormore components structured to allow the first mobile device and thesecond mobile device to process and store information, as well as toexchange information with the server.

For example, although not shown, either or both of the first mobiledevice 190B and the second mobile device 190C, in some embodiments,include a controller and a memory. In other embodiments, either or bothof the first mobile device 190B and the second mobile device 190C, mayalso include components such as, receivers, transmitters, cameras,keyboards, touchscreens, microphones, fingerprint scanners, displays,speakers, and other hardware, software, and associated logic that enablethe first mobile device and the second mobile device to execute softwareapplications, access websites, graphical user interfaces, and performother operations described herein.

Additionally, both the first mobile device 190B and the second mobiledevice 190C may have mobile applications installed thereon that may beused to connect to the server 120, and for receiving the notificationsfor monitoring the undesirable conditions and threats within thebuilding 105. For example, the mobile application on the first mobiledevice 190B may be an installer mobile application that may be used byan installer to install the building monitoring system 100 in thebuilding 105, and to manage the building monitoring system afterinstallation by monitoring the health (e.g., status of the sensors 110and the gateway 115—whether operational or faulted) of the buildingmonitoring system.

In contrast to the installer mobile application that is used by aninstaller, the mobile application on the second mobile device 190C maybe a customer mobile application that is used by a customer (e.g.,occupant/caretaker such as homeowner of the building 105) of thebuilding monitoring system 100 to monitor the building afterinstallation for any undesirable conditions and threats. In someembodiments, the customer mobile application may also be configured foruse by one or more building or property managers.

In some embodiments, the installer mobile application used by aninstaller and the customer mobile application used by a customer may beprovided as separate mobile applications. In other embodiments, theinstaller mobile application and the customer mobile application may becombined together into one overall mobile application having aninstaller mobile application component and a customer mobile applicationcomponent. The overall mobile application may be configured such thatthe installer mobile application is accessible to the installer, but notthe customer, and the customer mobile application is accessible to thecustomer, but not the installer. In yet other embodiments, the overallmobile application may include overlapping portions that may be accessedby both the installer and the customer.

Furthermore, in some embodiments, the installer mobile application andthe customer mobile application are connected directly to the server 120(e.g., via the communication link 185). In other embodiments, either orboth of the installer mobile application and the customer mobileapplication are connected to the server 120 via the gateway 115. Inthose embodiments, the installer mobile application and the customermobile application are connected to the gateway via communication link195 and then to the server 120 via the communication link 175. In someembodiments, either or both of the installer mobile application and thecustomer mobile application may be connected to the server 120, bothdirectly and indirectly through the gateway, to provide a redundantmechanism of connection to accommodate for any failures in thecommunication links 185 and 195.

Additionally, although the monitoring computer 130 is shown separatefrom the user interface 125, in some embodiments, the monitoringcomputer 130 is also a part of the user interface. For example, themonitoring computer 130 may be used by an emergency response crew (e.g.,fire fighters, paramedics, police, other rescue operators, etc.) todevise and execute an emergency rescue plan. The monitoring computer 130may receive sensor data, various reports, analysis, predictions, andother data compiled by the server 120 and the analytics system 135 viathe communication link 185. The monitoring computer 130 may alsoreceive, in some embodiments, notifications from the server 120 whenundesirable conditions and threats are detected.

For example, when the server 120 detects a fire in the building 105, theserver may automatically reach out (e.g., call) to an emergency responsecenter (e.g., fire station) such that the emergency response crew (e.g.,fire fighters) from that emergency response center may connect themonitoring computer 130 to the server 120 to receive further detailsabout the fire in the building. By connecting the monitoring computer130 to the server 120, the emergency response crew may start devising anemergency rescue plan as soon as the monitoring computer is connected tothe server (e.g., even before the emergency response crew gets to thebuilding 105).

In some embodiments, only some components of the building monitoringsystem 100 are shown herein, and several other components, such asrouting mechanisms, wiring, processing units, installation units,imaging and video devices, etc. may be used within the buildingmonitoring system. Likewise, although not shown, the building 105 mayhave walls, roof, windows, doors, foundation, and other features foundin buildings. Furthermore, the building 105 may be any of a variety ofstructures such as residential houses, commercial buildings, warehouses,hospitals, stores, factories, hotels, arenas, stadiums, and any othersuitable building. While the present disclosure has been described forthe building 105, in other embodiments, the present disclosure may beimplemented in any other structure that is substantially permanent ortemporary, such as tunnels, caves, tents, stages, recreational vehicles,campers, or any structure that is monitored by the sensors 110.

The sensors 110 may be a variety of sensors. For example, in someembodiments, the sensor 140 is a smoke sensor that is used to detectsmoke in the building 105, the sensor 145 is a motion sensor that isused to detect motion in the building, the sensor 150 is a door sensorto determine the status of doors (e.g., open, closed, locked, orunlocked), and the sensor 155 is a window sensor to determine the statusof windows (e.g., open, closed, locked, or unlocked). Likewise, in someembodiments, the sensor 160 is a temperature sensor to detect thetemperature of a room, and the sensor 165 is a wind sensor to determinethe direction/strength of wind in and/or around the building.Notwithstanding that the sensors 140, 145, 150, 155, 160, and 165 havebeen described as being specific types of sensors, in other embodiments,other or additional types of sensors, such as, stair sensors, carbonmonoxide sensors, location sensors, proximity sensors, pressure sensors,water sensors, humidity sensors, smoke obscuration sensors, and anyother type of sensor to detect an undesirable condition in the building105 may be used. Additionally, although only six of the sensors 110 areshown, in alternative embodiments, any suitable number of sensors may beused, including greater than six or fewer than six. For example, abuilding can have hundreds (or more) sensors 110 which can be all of thesame type or of different types of sensors.

Furthermore, although only one instance of each of the sensors 140, 145,150, 155, 160, and 165 is shown in the building 105, in someembodiments, multiple instances of one or more of those sensors may beused in the building. For example, the number and location of thesensors 140, 145, 150, 155, 160, and 165 within each area (e.g., floor,room, etc.) of the building 105 may depend upon the type of sensor,and/or the type of information that may be needed or considereddesirable to have in detecting a specific undesirable condition andthreat within the building 105. For example, if the sensor 150, which isa door sensor, is configured to detect the status of a single door, oneinstance of the sensor 150 may be installed on every (or selected)door(s) of an area of the building 105. In another example, if thesensor 150 is designed to determine the status of every door in an areaof the building 105 (e.g., by detecting doors within a pre-defined rangeof the sensor), one only instance of that sensor may be needed in eacharea. Furthermore, if the door in an area of the building 105 is acloset door, then the location of that door may not be pertinent todetecting the undesirable conditions and threats within the building 105and, therefore, the sensor 150 may not be needed on the closet door.

Likewise, window sensors (e.g., the sensor 155) may be installed onevery (or selected) window(s) of the building 105 or only on windowsthat are on the outside walls of the building. Similarly, one instanceof a smoke sensor (e.g., the sensor 140) may be sufficient for everyroom, in some embodiments. However, for bigger rooms, it may bedesirable to have multiple smoke sensors. In some embodiments, multipleinstances of a sensor may be installed to provide redundancy, such that,if one sensor malfunctions, another sensor may continue or take oversensing. Thus, the sensors 140, 145, 150, 155, 160, and 165 may bestrategically placed throughout the building 105 to get sensedconditions from inside the building to effectively and efficientlydetect undesirable conditions and threats within the building.

Furthermore, each of the sensors 140, 145, 150, 155, 160, and 165 may beconfigured to withstand temperatures and other conditions found insidebuildings (e.g., the building 105) during an undesirable condition(e.g., smoke) or threat (e.g., fire) without being damaged for aspecified period of time. For example, in some embodiments, the sensors140, 145, 150, 155, 160, and 165 may be designed to withstand at least500° Celsius for at least 30 minutes during a fire in the building 105.In other embodiments, the sensors 140, 145, 150, 155, 160, and 165 maybe designed with different specifications for temperature and time.Likewise, the sensors 140, 145, 150, 155, 160, and 165 may be designedto withstand being submerged in water for a specific period of time,withstand low (e.g., a given percentage below room temperature)temperatures, etc.

In an illustrative embodiment, each of the sensors 140, 145, 150, 155,160, and 165 may have an identification number or code to uniquelyidentify the sensor and distinguish that sensor from other types ofsensors. The identification code may be transmitted along with theindication of the sensed condition, as part of the sensor data to thegateway 115. The identification codes may also be made available in alist or catalog form for users (e.g., installers, emergency responsecrew, customers, etc.) to review when needed.

In some embodiments, the identification codes may be dependent upon thetype of sensor. For example, in some embodiments, all smoke sensor typeof sensors may have one kind of identification code, all door sensorsmay have another type of identification codes, all temperature sensorsmay have yet another type of identification codes, and so on. Withineach type of identification code, additional information may be providedto distinguish multiple instances of the same type of sensor. Thus, forexample, two smoke sensors in the building 105 may each have anidentification code with two parts—a first part identifying the sensoras a smoke sensor and a second part that distinguishes the first smokesensor from the second sensor. By virtue of assigning specificidentification codes to specific types of sensors, the server 120 andthe users reviewing the sensor data may determine from theidentification code the type of sensor and how to interpret the databeing transmitted by that sensor. The users may also be able to sort andarrange sensor data based upon the type of sensor to most effectivelyand efficiently use the sensor data.

Furthermore, in some embodiments, the identification codes may alsoinclude information identifying the location of each of the sensors 140,145, 150, 155, 160, and 165 within the building 105. In otherembodiments, the location information of the sensors 140, 145, 150, 155,160, and 165 may be provided separately from the identification codes.In some embodiments, the location may be global positioning system (GPS)coordinates. In other embodiments, if the floorplan of the building 105is known, the location may be a description of the location of thesensors 140, 145, 150, 155, 160, and 165 within the building. Forexample, a location description of a door sensor (e.g., the sensor 150)may be “front entrance on the main floor” or “entrance into thebasement,” etc. By virtue of knowing the location of each sensor, theserver 120 and the operators may be able to pin-point the location of anundesirable condition or threat within the building 105, as well asdetermine threat patterns (e.g., how a fire is spreading). The locationof the sensors 140, 145, 150, 155, 160, and 165 may also be cataloged,either as part of the identification code or separately, whichever thecase may be, and made available to the server 120 and the users forreview when needed.

Furthermore, the identification codes of the sensors 140, 145, 150, 155,160, and 165 may be configured in any of a variety of ways. For example,in some embodiments, the identification codes may be fixed digitnumbers. In other embodiments, the identification codes may be fixedletter words, alphanumeric codes, codes with certain special characters,quick response codes, radio frequency codes, combination of one or moreof the above, etc.

Thus, the sensors 140, 145, 150, 155, 160, and 165 may gather data ontheir respective sensed conditions, and transmit the gathered data tothe gateway 115. In some embodiments, the sensors 140, 145, 150, 155,160, and 165 may communicate with each other, in addition tocommunicating with the gateway 115. For example, if the sensors 140,145, 150, 155, 160, and 165 sense periodically and if one smoke sensordetects smoke in a room, that smoke sensor may alert other smoke sensorsin the building 105 to increase frequency of sensing. Likewise, if thecommunication link 170 between a particular one of the sensors 140, 145,150, 155, 160, and 165 and the gateway 115 malfunctions, the sensor cantransmit its gathered data to another sensor, which may then transmitthe other's sensor's gathered data to the gateway. Thus, by enabling thesensors 140, 145, 150, 155, 160, and 165 to communicate with oneanother, the building monitoring system 100 provides redundancy toaccount for malfunctions in the building monitoring system.

Likewise, in some embodiments, in addition to or instead of transmittingthe gathered data related to the sensed condition to the other sensorsin case of a malfunction in the communication link 170, the impacted oneof the sensors 140, 145, 150, 155, 160, and 165 may buffer the gathereddata (e.g., along with a timecode) and may transmit the buffered data tothe gateway 115 when communication is reestablished. In yet otherembodiments, the sensors 140, 145, 150, 155, 160, and 165 may beprogrammed such that the sensors may bypass the gateway 115 andcommunicate directly with the server 120 in certain instances. Such afunctionality may be used, for example, when the gateway 115malfunctions. In such an example, the sensors 140, 145, 150, 155, 160,and 165 may transmit the sensor data directly to the server 120 viacommunication links that are similar to (or the same as) thecommunication link 175. Thus, the building monitoring system 100 may bedesigned with various degrees of redundancy to enable the server 120 toreceive sensor data and detect undesirable conditions and threats evenin instances of certain failures within one or more components of thebuilding monitoring system. Such a system is, thus, a self-healingsystem.

As discussed above, the sensors 140, 145, 150, 155, 160, and 165transmit sensor data (e.g., sensed data along with identification codeand location information if not part of the identification code) to thegateway 115. In some embodiments, to transmit sensor data to the gateway115, the sensors 140, 145, 150, 155, 160, and 165 first establish acommunication link with the gateway via the communication link 170before transmitting the sensor data. In other embodiments, the sensors140, 145, 150, 155, 160, and 165 may transmit sensor data to the gateway115 simultaneously while establishing a communication link with thegateway. Thus, the manner of communication of the sensors 140, 145, 150,155, 160, and 165 with the gateway 115 may vary from one embodiment toanother. Furthermore, the sensors 140, 145, 150, 155, 160, and 165 maybe configured to either sense continuously or periodically, asprogrammed within the sensors. Likewise, the sensors 140, 145, 150, 155,160, and 165 may be configured to either continuously or periodicallytransmit sensor data to the gateway 115. In some embodiments, each ofthe sensors 140, 145, 150, 155, 160, and 165 sense at a rate that istransmitted to the sensors 140, 145, 150, 155, 160, and 165 (e.g., bythe server 120).

With respect to the gateway 115, in some embodiments, one instance ofthe gateway may be provided in each area (e.g., floor, room, etc.) ofthe building 105, while in other embodiments, one instance of thegateway may be sufficient for the entire building. In yet otherembodiments, multiple instances of the gateway 115 may be desirable ineach area (e.g., floor, room, etc.) of the building 105. The number ofthe gateways (e.g., the gateway 115), as well as the positioning of thegateways within the building 105 may vary based upon the operating rangeof the gateway and its ability to collect sensor data from the sensors140, 145, 150, 155, 160, and 165. In some embodiments, for examplesimilar to the description above of the sensors 140, 145, 150, 155, 160,and 165, the gateway 115 may be configured to withstand hightemperatures and other conditions within the building 105 for aspecified period of time to enable the gateway to keep collecting sensordata from the sensors 140, 145, 150, 155, 160, and 165, and transmittingthe collected sensor data to the server 120 in case of an undesirablecondition or threat.

Furthermore, in some embodiments, the gateway 115 is configured totransmit the sensor data from the sensors 140, 145, 150, 155, 160, and165 instantaneously (or substantially instantaneously) to the server 120as the sensor data is received from the sensors. In other embodiments,the gateway is configured to transmit the sensor data periodically. Insome embodiments, the gateway 115 may be configured to direct thesensors 140, 145, 150, 155, 160, and 165 to collect sensor dataon-demand and transmit that data to the server 120 (e.g., when thosesensors are configured to receive commands from the gateway).

To receive sensor data from the sensors 140, 145, 150, 155, 160, and165, the gateway 115 may be programmed with the identification codes ofthose sensors. Thus, in some embodiments, the gateway 115 may beconfigured to receive sensor data from only those sensors (e.g., thesensors 140, 145, 150, 155, 160, and 165) whose identification codesmatch the identification codes programmed within the gateway. By virtueof programming the gateway 115 with the identification codes of thesensors 140, 145, 150, 155, 160, and 165 for receiving sensor data fromthose sensors, the sensors may be easily and conveniently replaced byre-programming the gateway with different identification codes.

Also similar to the sensors 140, 145, 150, 155, 160, and 165, in someembodiments, the gateway 115 may transmit the received sensor data tothe server 120 while in communication with the server via thecommunication link 175. In other embodiments, the gateway 115 may firstestablish a communication link between the gateway and the server beforetransmitting the sensor data. Also, in some embodiments, if thecommunication link is interrupted, the gateway 115 may be configured tobuffer the sensor data until the communication link is reestablished.

Additionally, in some embodiments, the gateway 115 may also beconfigured to include an identification code and a location code. Theidentification and location codes of the gateway 115 may be particularlyuseful when multiple instances of the gateway 115 are installed withinthe building 105. The identification code may also be used to associatethe gateway 115 with a specific building monitoring system account, suchthat when the server 120 receives sensor data from the gateway 115, theserver may be able to associate the sensor data with the buildingmonitoring system account and identify the building 105. In someembodiments, the location code of the gateway 115 may be part of theidentification code. In some embodiments, the gateway 115 may transmitthe identification code (and the location code if not part of theidentification code) to the server 120 along with each transmission ofthe sensor data. Alternatively or additionally, the identification codeand the location code may be catalogued and made available to the server120 and users (e.g., installers, customers, emergency response crew).Again, the identification code of the gateway 115 may be configured in avariety of ways, including a quick response code.

Moreover, in some embodiments, in addition to transmitting the sensordata to the server 120, the gateway 115 may be programmed toautomatically communicate with an emergency response center if thegateway receives certain type of information from the sensors 140, 145,150, 155, 160, and 165. Conditions that may cause the gateway 115 tocontact the emergency response center may be programmed within thegateway. The emergency response center may include a 911 call center, afire department, police department, other emergency response service, ora combination thereof. In an alternative embodiment, the gateway 115 maynot include such programming, and the server 120 may analyze theinformation (e.g., with the help of the analytics system 135) andautomatically contact the emergency response center when needed.

Thus, the gateway 115 is also intended to be configured in a variety ofways depending upon the embodiment and the requirements of the buildingmonitoring system 100.

The sensors 140, 145, 150, 155, 160, and 165 and the gateway 115communicate with each other via the communication links 170, and thegateway and the server 120 communicate via the communication link 175.Likewise, the server 120 communicates with the user interface 125, themonitoring computer 130, and the analytics system 135 via thecommunication links 180 and 185. The communication links 170, 175, 180,and 185 may be any of a variety of communication channels or interfaces.For example, the communication links 170 may be of any type that issuitable for facilitating communication between the sensors 140, 145,150, 155, 160, and 165 and the gateway 115. Likewise, the communicationlink 175 may be of any type that is suitable to facilitate communicationbetween the gateway 115 and the server 120, and the communication links180, 185 may be of any type that are suitable to facilitatecommunication with the server. In some embodiments, one or more of thecommunication links 170, 175, 180, and 185 may be wired communicationlinks (e.g., jacks, antennas, transmitters, receivers, transceivers,wire terminals, electrical cables and connectors, etc.) that communicatevia wired communication protocols, such as TCP/IP, BACnet IP, BACnetMSTP, CAN, Modbus, USB, Firewire, UART, SPI, RS-485, a public switchedtelephone network (PSTN), or other wired protocols.

In other embodiments, one or more of the communication links 170, 175,180, and 185 may instead be wireless and communicate via one or morewireless communication protocols, such as Wi-Fi (including TCP/IP),Wi-Max, Bluetooth, LoRa, NFC, Zigbee, and the like. In some embodiments,one or more of the communication links 170, 175, 180, and 185 mayinclude cellular or mobile phone communications, wireless radiochannels, local area network (LAN), metropolitan area network (MAN),wide area network (WAN), world wide web (WWW) or the Internet, and thelike. A combination of one or more communication interfaces discussedabove may be used for the communication links 170, 175, 180, and 185 aswell, in some embodiments. The communication links 170, 175, 180, and185 may also be a distributed intelligent network, in some embodiments.Further and similar to the sensors 140, 145, 150, 155, 160, and 165 andthe gateway 115, the communication links 170, 175, 180, and 185 may bedesigned to withstand various operating conditions for a specifiedperiod of time.

The server 120 may be configured in a variety of ways and may include avariety of components. For example, as mentioned above, the server 120may be located in a remote location or within the building 105. In someembodiments, sensor data transmitted to the server 120 may be stored incloud storage, or other type of memory. In other embodiments, variousmechanisms to store, manage, and back-up data may be used by the server120. Further, the server 120 may be configured to store data related tomore than one building monitoring system (e.g., the building monitoringsystem 100).

The server 120 also includes a variety of computing elements. Forexample, the server 120 may include memory having one or more devices(e.g., memory units, memory devices, storage devices, etc.) for storingdata and/or computer code for completing and/or facilitating variousprocesses described in the present disclosure. Such memory may includevolatile and/or non-volatile memory including, random access memory(RAM), read-only memory (ROM), dynamic random access memory (DRAM),programmable read only memory (PROM), erasable programmable read onlymemory (EPROM), electrically erasable programmable read only memory(EEPROM), flash memory, hard drive storage, optical memory, or any othersuitable memory for storing data, software objects and/or computerinstructions. Memory may also include database components, object codecomponents, script components, or any other type of informationstructure for supporting the various activities and informationstructures described in the present disclosure. Other types of storagemedia, for example, compact disc (CD), digital video disc (DVD), floppydiscs, Blu-ray discs, magnetic storage, computer readable media, orother electronic storage media, may be used within or in conjunctionwith the memory of the server 120.

The server 120 also includes a processing unit capable of executingcomputer code for running one or more processes described herein. Insome embodiments, the processing unit may include a digital signalprocessor (DSP), such as, a general-purpose stand alone or embeddedprocessor, or a specialized processing unit. In general, processing unitof the server 120 may be of any type that is suitable for a serversystem. Additionally, in at least some embodiments, multiple instancesof the processing unit may be connected together at least indirectly andutilized in combination with one another to perform various functionsdescribed herein. Multiple server units in communication with oneanother may also be used in other embodiments.

The processing unit(s) of the server 120 may be configured to process avariety of program instructions and data, in accordance with theembodiments of the present disclosure. These program instructions anddata need not always be digital or composed in any high-levelprogramming language. Rather, the program instructions may be any set ofsignal-producing or signal-altering circuitry or media that may becapable of performing functions, described in the present disclosure.Additionally, the server 120 may include other hardware, software, andfirmware components that are commonly present in devices configured asservers and communicating with devices, such as the gateway 115.

A block diagram of a gateway 200 is shown in FIG. 2, in accordance withsome embodiments of the present disclosure. The gateway 200 is similarto the gateway 115 in that the gateway 200 receives sensor data from thesensors 140, 145, 150, 155, 160, and 165 and transmits that sensor datato the server 120. The gateway 200 is configured to be installed withinthe building 105. Although not shown, the gateway 200 may be providedwith various mounting mechanisms on a housing 205 of the gateway. Forexample, a back surface of the housing 205 may be provided with mountingholes that may be used to mount the gateway 200 on a wall or otherstructure of the building 105. In other embodiments, other or additionalmounting or safety mechanisms, such as a wall tamper switch, may beprovided on the housing 205. Furthermore, the housing may be designed toenclose and protect the components of the gateway 200 from variousenvironmental and physical hazards. The housing 205 may be constructedin one or more pieces from one or more materials that may be deemedsuitable for the gateway 200.

The housing 205 may also include one or more light emitting diodes(LEDs) 210 on a front and/or the back surface thereof to provideindication of one or more gateway conditions. For example, in someembodiments, the LEDs 210 may include a power LED 215, a networkconnection LED 220, a server connection LED 225, and a sensor activityLED 230. The power LED 215 may indicate whether the gateway 200 isturned on or off. For example, a green indication on the power LED 215may indicate that the gateway 200 is turned on and a red indication onthe power LED may indicate that the gateway is turned off. In otherembodiments, instead of using different color indications to indicatethe turn on and turn off condition, the power LED 215 may be configuredto turn on (e.g., light up) when the gateway 200 is turned on and toturn off (e.g., not light up) when the gateway is turned off.

Likewise, the network connection LED 220 may be used to indicate whenthe gateway 200 is connected to a network (e.g., cellular network) forreceiving sensor data from the sensors 140, 145, 150, 155, 160, and 165,and/or for transmitting the sensor data to the server 120. Thus, whenthe gateway 200 has an established communication link with the sensors140, 145, 150, 155, 160, and 165 via the communication link 170, or withthe server 120 via the communication link 175, the network connectionLED 220 is turned on. In other embodiments, the network connection LED220 may show a red indication when the gateway 200 has not established acommunication link with the sensors 140, 145, 150, 155, 160, and 165, orthe server 120, and a green indication when the communication link isestablished.

The server connection LED 225 indicates when the gateway 200 isconnected to the server 120 and transmitting the sensor data to theserver. Similarly, the sensor activity LED 230 indicates when thegateway 115 is receiving sensor data from the sensors 140, 145, 150,155, 160, and 165. Again, the indication may be by changing colors(e.g., turning green when transmitting/receiving and turning red whennot transmitting/not receiving) or by turning on and off (e.g., turningon when transmitting/receiving and turning off when not transmitting/notreceiving).

By virtue of reviewing the status of the LEDs 210, the status of thegateway 200 may be determined (e.g., whether the gateway is receivingsensor data or whether the gateway is transmitting data). The LEDs 210may also be used to determine certain malfunctions. For example, if auser (e.g., installer, customer, emergency response crew) is aware of atransmission from the sensors 140, 145, 150, 155, 160, and 165 to thegateway 200, or from the gateway to the server 120, and the appropriateones of the LEDs 210 do not indicate the transmission, the user maydetermine that a component malfunction has occurred.

Notwithstanding the LEDs 210 that are shown and described in the gateway200, in alternative embodiments, fewer, other, or additional LEDs may beused to provide status of other conditions. Further, the manner (e.g.,color indicator or turning on/off) of indicating a condition by the LEDs210 may vary from one embodiment to another. Although the colors greenand red have been described for the color indicators of the LEDs 210, inother embodiments, different colors may be used. Furthermore, the shape,size, and arrangement of the LEDs 210 on the housing 205 may vary fromone embodiment to another.

The housing 205 of the gateway 200 also includes an installation button235. The installation button 235 may be actuated by any of a variety ofways, such as, by pushing, sliding, rocking, rotating, pulling,magnetizing, depressing, etc. The installation button 235 may beactuated during installation of the gateway 200. For example, aftermounting the housing 205 of the gateway 200 within the building 105, aninstaller may actuate the installation button 235 to connect the gateway200 to the sensors 140, 145, 150, 155, 160, and 165, and to the server120. In some embodiments, the installation button 235 may also be usedduring troubleshooting, for example, to factory reset the gateway 200 toreturn the gateway settings to a factory default. In some embodimentsand, particularly in the absence of a separate power button, theinstallation button 235 may also be used to restart the gateway 200.Similar to the LEDs 210, the shape, size, and arrangement of theinstallation button 235 on the housing 205 may vary from one embodimentto another.

Although only the LEDs 210 and the installation button 235 are describedas being on the housing 205 (e.g., visible from outside) of the gateway200, in other embodiments, other buttons, actuating mechanisms, or othercomponents may be provided on the housing. For example, in someembodiments, the housing 205 may include external antennae, connectionports, battery compartments, etc. that may be needed or desirable toinclude on the housing 205 of the gateway 200.

Within the housing 205, the gateway 200 includes a receiver module 240,a transmitter module 245, a processing unit 250, a memory 255, afirmware update module 260, a battery charging circuit 265, and abattery back-up circuit 270. In other embodiments, other, fewer, oradditional components and modules may be provided within the housing 205of the gateway 200. With respect to the receiver module 240, in someembodiments, the receiver module is a radio frequency receiver that isconfigured to establish a wireless connection with the sensors 140, 145,150, 155, 160, and 165, and with the server 120, as well as configuredto receive sensor data from the sensors wirelessly. The receiver module240 may be configured with a specific protocol, such as, Zigbee,Bluetooth, Wi-Fi, cellular, or other protocol to communicate with thesensors 140, 145, 150, 155, 160, and 165, and the server 120.

Furthermore, in some embodiments, the receiver module 240 may beconfigured to operate at various radio frequencies. For example, in someembodiments, the receiver module 240 may be configured to receivecommunications at or between 319 to 433 MHz. In other embodiments, thereceiver module 240 may be configured to operate at other or additionalfrequencies. The receiver module 240 may also include various antennae(both external and internal (whether vertical and/or horizontal)),external communication ports (e.g., UART serial communication,bi-directional communication ports, universal serial bus ports, etc.) tocommunicate with an embedded processing unit, network matchingcomponents, encoding protocols (e.g., Manchester encoding protocols), onthe fly antenna switching, signal strength indicators, and otherfeatures that may be needed or considered desirable to have in thereceiver module 240 to facilitate receiving sensor data as modulatedsignals from the sensors 140, 145, 150, 155, 160, and 165, anddemodulating the received signals for transmission by the transmittermodule 245.

The transmitter module 245 is similar to the receiver module 240, butdesigned to transmit the sensor data received by the receiver module tothe server 120. Similar to the receiver module 240, the transmittermodule 245, in some embodiments, may be a radio frequency transmitterthat is configured with a variety of features that are suitable for aradio frequency transmitter. In some embodiments, the receiver module240 and the transmitter module 245 may be integrated together in asingle transceiver module or a system-on-chip (SOC) module that isconfigured to both receive and transmit sensor data.

The processing unit 250 is capable of executing computer code forrunning one or more processes described herein. In some embodiments, theprocessing unit 250 includes a SA1100 module from the NovAtel, Inc.company headquartered in Calgary, Canada. In other embodiments, theprocessing unit 250 may be based on other or additional hardwaremodules. In general, the processing unit 250 may be of any type that issuitable to perform operations of a gateway device (e.g., the gateway200). In some embodiments, the processing unit 250 may include multipleprocessing units in communication with one another.

The memory 255 may be used for storing sensor data from the sensors 140,145, 150, 155, 160, and 165 and/or computer code for completing and/orfacilitating various processes described in the present disclosure. Suchmemory may include volatile and/or non-volatile memory including, randomaccess memory (RAM), read-only memory (ROM), dynamic random accessmemory (DRAM), programmable read only memory (PROM), erasableprogrammable read only memory (EPROM), electrically erasableprogrammable read only memory (EEPROM), flash memory, hard drivestorage, optical memory, or any other suitable memory for storing data,software objects and/or computer instructions. In some embodiments, thememory 255 may be configured to buffer data for a period of time. Forexample, in some embodiments, the memory 255 may be configured to storesensor data received from the sensors 140, 145, 150, 155, 160, and 165for a given period of time (e.g., four hours in a RAM memory and anadditional forty eight hours in a non-volatile memory) in the event of aloss of communication between the gateway 200 and the server 120.

The gateway 200 also includes a firmware update module 260. The firmwareupdate module 260 may be used to receive firmware updates to the gateway200. In some embodiments, the firmware update module 260 may beconfigured for firmware-over-the-air (FOTA) updates. In otherembodiments, the firmware update module 260 may be configured to receivefirmware updates via other mechanisms. To receive updates, the firmwareupdate module 260 may be configured to check for new updatesperiodically. For example, in some embodiments, the firmware updatemodule 260 may be configured to check for updates every night at aspecified time. In other embodiments, the firmware update module 260 maybe configured to check for updates more or less frequently, and atvarying times of the day.

To check for updates, the firmware update module 260 may be configuredto establish a connection (e.g., a wireless connection) with the server120. In other embodiments, instead of periodically checking for firmwareupdates, the firmware update module 260 may be configured to merelyreceive updates pushed to the firmware update module by the server 120.If the firmware update module 260 detects a firmware update, thefirmware update module may download the firmware update and apply thefirmware update to the appropriate modules. In some embodiments,applying the firmware update to a module may require rebooting of thatmodule. The firmware update module 260 may be configured toautomatically reboot a module after applying the firmware update.

Furthermore, in some embodiments, the firmware update module 260 may beconfigured such that the operation of the gateway 200 is not obstructedduring the download and installation of the firmware updates. Thus, thegateway 200 may continue normal operation (e.g., receiving sensor datafrom the sensors 110 and transmitting sensor data to the server 120)while the firmware update module 260 is downloading and applying thefirmware updates.

Although the firmware update module 260 is shown as a separate module,in some embodiments, the firmware update module may be integrated withone or more of the processing unit 250 and the memory 255. Likewise, theprocessing unit 250 and the memory 255, in some embodiments, may beintegrated together. Further, in some embodiments, one or both of thereceiver module 240 and the transmitter module 245 may be integratedwith the processing unit 250 and/or the memory 255. Further, althoughonly the receiver module 240, the transmitter module 245, the processingunit 250, the memory 255, and the firmware update module 260 are shownin the gateway 200 (in addition to the battery charging circuit 265 andthe battery back-up circuit 270, discussed below), in alternativeembodiments, other, fewer, or additional components may be includedwithin the gateway 200.

To power the gateway 200, the gateway includes the battery chargingcircuit 265 and the battery back-up circuit 270. In some embodiments,the gateway 200 may be configured to draw power from a power source 275.The power source 275 may be an external power supply (e.g., aconventional AC power connection) that is connected to the gateway 200via an adaptor (e.g., an alternating current adaptor). The power source275 may be configured to supply power to the various components of thegateway 200. In other embodiments, the gateway 200 may also include abattery back-up that provides power to the gateway 200 via the batteryback-up circuit 270. The gateway 200 may be configured to operate with avariety of batteries. For example, in some embodiments, the batteriesmay be nickel-metal hydride (NiMH) batteries, lithium-ion batteries,nickel cadmium batteries, lithium polymer batteries, etc. The batteriesmay be inserted in a battery compartment provided in the housing 205 ofthe gateway 200. The batteries may be used in case of disruption ofpower supply from the power source 275.

Further, in some embodiments, the batteries may be configured to providepower to the gateway 200 for a specified period of time (e.g., for 24hours). The batteries may be disposable batteries or rechargeablebatteries. In some embodiments, the gateway 200 may have a built inbattery charging unit (e.g., the battery charging circuit 265) that maybe used to charge the batteries via the battery back-up circuit 270 whenthe batteries are discharged or reach below a certain level of power. Insome embodiments, the gateway 200 may also include indications (e.g.,LED indications) of battery status (e.g., when disposable batteries areused and need to be changed). Furthermore, in some embodiments, thegateway 200 may be configured to operate in a variety of power modes.For example, in some embodiments, the gateway 200 may be configured tooperate in a regular power mode when the gateway 200 is connected to andreceiving power from the power source 275, and in a power saver modewhen the gateway is powered using the back-up batteries via the batteryback-up circuit 270.

In other embodiments, the gateway 200 may be configured to draw powerfrom and operate from other types of power sources. For example, thegateway 200 may be configured to use solar power, wind power, geothermalpower, or other types of renewable and non-renewable energy sources.Furthermore, in some embodiments, the gateway 200 may be configured suchthat certain components of the gateway are powered from the power source275 and operate on battery back-up from the battery back-up circuit 270only when power from the power source is disrupted, while othercomponents of the gateway are only powered by either the battery back-upor the power source.

Thus, the gateway 200 is configured with a variety of features toperform a variety of functions. For example, the gateway 200 provides aflexible design that may be modified to fit a variety of needs. Inaddition to the features of the gateway 200 described above, in someembodiments, the gateway may be configured to receive time datainformation from the server 120, may include a variety of securityfeatures (e.g., transport layer security features), internal loggingfeatures to store gateway activity and sensor data in log files, abilityto transmit log files to the server, and access point mode features.Other features that may be needed or considered desirable to have in thegateway 200 may be provided in other embodiments.

A block diagram 300 illustrating communication between a gateway 305 andserver 310 is shown in FIG. 3, in accordance with some embodiments ofthe present disclosure. The gateway 305 is similar to the gateway 115 ofFIG. 1 and the gateway 200 of FIG. 2, and is, therefore, not describedhere again. The gateway 305 and the server 310 communicate with eachother via a communication channel 315. The communication channel 315 issimilar to the communication link 175. In at least some embodiments, thecommunication channel 315 is a wireless communication channel, forexample, a cellular network. In other embodiments, the communicationchannel 315 may assume any of the configurations described above withrespect to the communication link 175. Although not shown, thecommunication channel 315 may include a variety of hardware, software,and firmware modules, including, for example, tools, routines, andprotocols of an application program interface (API) to facilitatecommunication between the gateway 305 and the server 310.

The gateway 305 may establish a secure communication link to the server310 via the communication channel 315. For example, in some embodiments,the gateway 305 may establish a dedicated and reliable virtual privatenetwork (VPN) communication link to the server 310 via the communicationchannel 315 using a VPN module 320. In other embodiments, the gateway305 may use other techniques of establishing a secure communication linkwith the server 310 via the communication channel 315. Furthermore, insome embodiments, after establishing a secure communication link to theserver 310 via the communication channel 315, the gateway 305 and theserver may periodically check the established communication link toensure that the communication link is still secure. If the communicationlink is no longer secure, the gateway 305 and/or the server 310(whichever one detects that the communication link is not secure) maybreak the communication and retry to establish another securecommunication link via the VPN module 320.

Once the communication link between the gateway 305 and the server 310is disrupted, the gateway may buffer the unsent sensor data until thecommunication link is reestablished. In some embodiments, reestablishingthe secure communication link between the gateway 305 and the server 310may involve rebooting of the gateway. For example, in some embodiments,if the gateway 305 is unable to establish a secure communication linkwith the server 310 via the communication channel 315 within a specificperiod of time, the gateway may be configured to automatically reboot.In some embodiments, the gateway 305 and/or the server 310 may beconfigured to issue alert notifications to installers to alert them ofthe failure to establish a secure communication link between the gatewayand the server.

Upon receiving the sensor data from the gateway 305, the server 310 maystore that sensor data, as well as perform a variety of analytics on thesensor data. In some embodiments, the server 310 may include a firstserver 325 and a second server 330, each of which may be used fordifferent purposes. In some embodiments, either or both of the firstserver 325 and the second server 330 may be cloud based server systems.For example, in some embodiments, the first server 325 may be an AmazonWeb Services (AWS) secure cloud based platform, while the second server330 may be a Microsoft Azure cloud computing platform. In otherembodiments, different cloud based servers may be used. In yet otherembodiments, either or both of the first server 325 and the secondserver 330 may be physical (e.g., non-cloud based) servers. In general,the first server 325 and the second server 330 may be any type of serversystems that provide computing power, content delivery, and storage tofacilitate the functions described herein.

In some embodiments, it is preferable for the first server 325 and thesecond server 330 to be different (e.g., of different providers) forsecurity reasons, such that a first type of information is stored on oneof the servers and a second type of information is stored on the otherone of the servers. For example, in some embodiments, any user relatedinformation or account information of the building monitoring system 100may be stored on the second server 330 and sensor data, as well asanalytics performed on that sensor data, may be stored on the firstserver 325. By virtue of storing different information on differentservers, a server may be immune or at least somewhat resistant tosecurity breaches that may impact the other server. Further, in someembodiments, the first server 325 and the second server 330 may beconfigured to communicate with each other via communication link 335.The communication link 335 may be of any kind that is suitable forfacilitating communication between two servers.

The first server 325 may include, in some embodiments, a load balancersystem 340, a firmware update module 345, a database 350, an analyticssystem 355, a reporting system 360, and a messaging system 365. It is tobe understood that in other embodiments, other, fewer, or additionalcomponents that may be needed or considered desirable to include in thefirst server 325 may be provided. The load balancer system 340 may beused by the first server 325 to receive the sensor data from the gateway305 via the communication channel 315, and distribute the sensor data tovarious components of the first server 325 for further processing andstorage. For example, the load balancer system 340 may pass the data onto the database 350 for storing the sensor data within the database, aswell as transmit the data to the analytics system 355 to performanalytics on. By virtue of distributing the sensor data amongst variouscomponents of the first server 325, the load balancer system 340optimizes resource use, maximizes throughout, and minimizes responsetime.

The firmware update module 345 is similar to the firmware update module260 in functionality, insofar as the firmware update module 345 isconfigured to receive firmware updates and apply those updates to theappropriate components. In some embodiments, the firmware update module345 is configured to receive firmware updates over the air (FOTA), whilein other embodiments, the firmware update module may be configured touse other methods to receive firmware updates.

The database 350 may be used to store sensor data that is received fromthe gateway 305 via the communication channel 315. In some embodiments,the first server 325 may timestamp the sensor data before storing withinthe database 350. Furthermore, the database 350 may be configured suchthat the sensor data may be easily and quickly retrieved from thedatabase and transmitted for further processing. Additionally, in someembodiments, the database 350 may also be used to store the processingresults of processing performed on the sensor data by the analyticssystem 355, as well as any reports that are generated from that sensordata. The database 350 may be used to further store any computerinstructions, protocols, routines, or other information that the firstserver 325 may need to operate as intended, as well as to store, andprocess sensor data.

The database 350 may be configured in a variety of ways to perform thefunctions described herein. For example, in some embodiments, thedatabase 350 may be configured as multiple database components, witheach database component configured to store a specific type ofinformation. Additionally, in some embodiments, the database 350 may beconfigured to avoid single point of failures. In other embodiments, thedatabase 350 may be configured to be scalable or expandable toaccommodate increased storage needs.

The analytics system 355 continuously monitors and processes incomingsensor data to detect undesirable conditions and threats based on pastand current sensor data. The analytics system 355 may also be configuredto establish and continuously update “normal” environmental conditionswithin the building 105 to detect the undesirable conditions andthreats. The analytics system 355 may use a variety of techniques todetect the undesirable conditions and threats from the sensor data. Forexample, in some embodiments, the analytics system 355 may use anaverage of averages technique to detect the undesirable conditions andthreats. Using this technique, the analytics system 355 may determine ashort term moving average, a midterm moving average, and a long termmoving average, of the sensor data. The analytics system 355 may furtheraverage the short term moving average, the midterm moving average, andthe long term moving average into a combined average, which may then beused to detect the undesirable conditions and threats. Thus, thecombined average is an average of averages.

For example, in some embodiments, the short term average of the sensordata may be determined by averaging sensor data received in the pastthree minutes. In alternative embodiments, the short term moving averagemay correspond to any suitable time frame, which can be less than orgreater than three minutes. Further, the analytics system 355 may useany suitable average technique. For example, in some embodiments, theanalytics system 355 may use a weighted average technique. In suchembodiments, more recent sensor data may be weighted more than oldersensor data. In other embodiments, the analytics system 355 may use amathematical or arithmetic average technique of averaging the sensordata.

Likewise, the midterm moving average may be an average value of sensordata received in the past thirty minutes, and the long term movingaverage may be an average of sensor data received in the past threehours. In other embodiments, other time frames for determining themidterm moving average and the long term moving average may be used.Furthermore, any suitable averaging technique can be used. For example,a weighted average, a mathematical average, or arithmetic averagetechnique of averaging the sensor data may be used.

The analytics system combines the short term moving average, the midtermmoving average, and the long term moving average using any of a varietyof averaging techniques (e.g., weighted, mathematical, or arithmetic)described above to obtain the combined average. The analytics system 355may compute multiple such combined averages, one or more of which maythen be fit to a distribution. For example, in some embodiments, thecombined averages for the past thirty days may be fit to a distribution.In other embodiments, combined averages of more than or less than thirtydays may be fit to a distribution. The distribution may be any of avariety of graphical, tabular, combination of graphical and tabular, orany other type of distribution that may be considered suitable. Thedistribution may be used to learn various normal behavioral patterns ofthe building 105 from the sensor data, as well as to detect theundesirable conditions and threats. By determining the normal behavioralpatterns, the analytics system 355 may determine upper and lowerset-points that may be used to detect threats.

For example, in some embodiments, the analytics system 355 may comparethe sensor data to the determined set-points. If a sensor measurement isoutside of the determined set-points (e.g., greater than the upperset-point or lower than the lower set-point), the analytics system maydetermine that a threat exists. Upon detecting the threat, the analyticssystem 355 may take any suitable action, such as sounding an alarm,notifying occupants, notifying users, notifying emergency personnel,etc.

Furthermore, in some embodiments, what is considered a normal behavioralpattern of the building 105 may change over time. For example, somemeasurements fluctuate over time and what is considered “normal”fluctuates over time. For example, from July through December, theaverage indoor temperature may change from 75° F. in July to 65° F. inDecember. In July the normal indoor temperature may be 75° F.±7° F., andin December the normal indoor temperature may be 65° F.±10° F. Thus, insome embodiments, pre-determined static set-points that don't changewith changing normal behavioral patterns of the building 105 may beeither too sensitive or not sensitive enough, and may not accuratelypredict threat conditions. For example, an upper set-point of 82° F. maybe appropriate in July, but may be too high in December. Similarly, anupper set-point of 75° F. may be appropriate in December, but may be toolow in July. Thus, in some instances, the analytics system 355 maydetermine moving set-point values using the combined average techniquedescribed above, such that what is considered “normal” changes withtime.

In other embodiments, instead or in addition to using the average ofaverages technique, the analytics system 355 may combine sensor datafrom multiple sensors to determine whether the undesirable conditionsand threats exist. For example, in some embodiments, the analyticssystem 355 may use Bayesian Networks or Neural Networks to makeinferences to detect the undesirable conditions and threats. Examples ofusing the set-point technique and the Bayesian network technique aredescribed below in FIGS. 4-6B. Furthermore, additional details on howthe analytics system 355 analyzes the sensor data to detect theundesirable events and threats are found in U.S. patent application Ser.No. 15/099,786, filed on Apr. 15, 2016, the entirety of which isincorporated by reference herein.

In addition to analyzing the sensor data, the analytics system 355 maygenerate a variety of reports from the analyzed sensor data. Forexample, in some embodiments, the analytics system 355 may generate acomfort level report detailing temperature trends in the building 105.The analytics system 355 may also generate activity pattern reports,safety level reports, overall overview reports, etc. Some of the reportsgenerated by the analytics system 355 are described below in FIGS.7A-8E. In some embodiments, the analytics system 355 may also update thereports after they are generated when new and relevant sensor databecomes available.

In some embodiments, the analytics system 355 may not generate and/orupdate the reports. In those embodiments, the reporting system 360 maygenerate and/or update the reports. For example, in those embodiments,the analytics system 355 may transmit the analyzed (and/or non-analyzed)sensor data to the reporting system 360, which may then use that sensordata to compile and/or update reports. In yet other embodiments, theanalytics system 355 may generate and/or update some reports, while thereporting system 360 may generate and/or update other reports. Thus,various configurations of generating and/or updating reports arecontemplated and considered within the scope of the present disclosure.

Furthermore, in some embodiments, the reports that are generated by theanalytics system 355 and/or by the reporting system 360 may be storedwithin the database 350. In some embodiments, instead of, or in additionto, storing the reports within the database 350, one or more of thereports may be stored within either or both of the analytics system 355and the reporting system 360.

The messaging system 365 may be used to support a variety of messagingapplications and communication patterns. In some embodiments, themessaging system, 365 may be based on an Advanced Messaging QueuingProtocol (AMQP). In other embodiments, the messaging system 365 may beconfigured to use other or additional protocols. The messaging system365 may be used to store messages (e.g., alerts, alarms, statusnotifications, etc.) that are to be communicated to various users (e.g.,installers, emergency personnel, and customers). In other embodiments,the messaging system 365 may be used to store other types ofnotifications that the first server 325 may deem appropriate to send tothe users. The messaging system 365 may receive messages to be conveyedto the users from the analytics system 355 and/or the reporting system360, and store those messages until those messages are transmitted tothe users.

Although not shown, it is to be understood that the various componentsof the first server 325 (e.g., the load balancer system 340, thefirmware update module 345, the database 350, the analytics system 355,the reporting system 360, and the messaging system 365) may beconfigured to communicate with one another to receive and/or transmitinformation to those components.

With respect to the second server 330, in some embodiments, it mayinclude an account database 370 and a notification system 375. Theaccount database 370 may be used to securely store personal andinstallation data related to the building monitoring system 100. Forexample, in some embodiments, the account database 370 may storepersonal information (e.g., name, address, contact information, etc.)related to the customer (e.g., homeowner) where the building monitoringsystem 100 is installed. In other embodiments, the account database 370may also be used to store identification codes of the sensors 110 andthe gateway 115. In other embodiments, other personal, installation, orother account data may be stored within the account database 370.Furthermore, similar to the database 350, the account database 370 maybe configured in a variety of ways, and may include various securityfeatures (e.g., encryption) to protect the information stored within theaccount database.

The notification system 375 may be used by the second server 330 tocommunicate the messages stored within the messaging system 365. Forexample, the notification system 375 may receive the messages from themessaging system 365 and transmit those messages to the users (e.g.,installers, emergency response crew, and customers) using one or morecommunication modes (e.g., e-mail, short messaging, service, socialmedia messages, etc.) specified by those users. For example, thenotification system 375 may be configured to retrieve the contactinformation of the users from the account database 370, and communicatethe messages to the users using that contact information. In someembodiments, preferred modes of communication may be stored within thenotification system 375, such that the notification system maycommunicate with the users without first having to retrieve contactinformation from the account database 370.

Notwithstanding the components of the first server 325 and the secondserver 330 that are shown and described herein, it is to be understoodthat in other embodiments, other, fewer, or different components thatmay be needed or considered desirable to have may be provided withineither or both of the first server and the second server. Furthermore,the first server 325, the second server 330, and the components of thoseservers may be configured in a variety of ways to perform the functionsdescribed herein.

Furthermore, either or both of the first server 325 and the secondserver 330 may include functionalities, not described here, but that maybe considered useful to include. For example, either or both of thefirst server 325 and the second server 330 may include various securityand authentication features (e.g., OAuth 2.0, OpenId Connect Service,etc.) to secure various services, applications, and other informationstored on those servers. Either or both of the first server 325 and thesecond server 330 may also use encrypted passwords stored in a securedatabase (e.g., the database 350 and the account database 370).Information stored on the first server 325 and the second server 330 maybe encrypted as well, in some embodiments.

Moreover, in some embodiments, all virtual machines, web services, anddatabases within the first server 325 and the second server 330 may besecurely hosted to protect those servers from security breaches. Fewer,additional, or different security measures may be implemented in eitheror both of the first server 325 and the second server 330. Moreover, insome embodiments, either or both of the first server 325 and the secondserver 330 and components thereof may be configured for scalability. Forexample, various components of either or both of the first server 325and the second server 330 may be configured to accommodate increaseddata volumes. In some embodiments, either or both of the first server325 and the second server 330 may also include various redundancy andresilience features to reduce impact of failures. For example, in someembodiments, load balancers (e.g., the load balancer system 340) may beused in the second server 330 as well to distribute and manageinformation between various components of the second server. In someembodiments, load balancers may be provided in individual components aswell. Either or both of the first server 325 and the second server 330,including, various components of those servers, may be configured to usevarious techniques, such as parallel processing, database integrity,database geolocation, etc., that may improve throughout and use ofresources.

An example of a threat detection is shown in FIGS. 4-5B, in accordancewith some embodiments of the present disclosure. For example, FIG. 4shows a network diagram 400 for determining a risk 405 that a particularthreat may occur based upon various factors, while FIGS. 5A-5Billustrate how the risk 405 may vary based upon variations in thosefactors. The network diagram 400 of FIG. 4 is a Bayesian network diagramthat utilizes sensor data from multiple sensors to determine whether athreat (e.g., fire) exits. Bayesian networks may be used to makeinferences based upon information that is known or possibly unknown.Threat detection using Bayesian networks is disclosed in more detail inU.S. patent application Ser. No. 15/099,786, filed on Apr. 15, 2016, theentirety of which is incorporated by reference herein.

For example, the network diagram 400 uses dependent relationshipsbetween variables 410 to calculate the risk 405 that a particular threat(e.g., fire) may occur. For example, the network diagram 400 maydetermine the risk 405 of fire within an area (e.g., kitchen) of thebuilding 105 based upon whether someone is cooking, whether some food isburning, whether the smoke alarm has gone off (e.g., activated), and theamount of smoke detected by a smoke sensor. Thus, the network diagram400 includes a cooking variable 415, a motion variable 420, a burningvariable 425, a smoke signal variable 430, and a smoke alarm variable435. Utilizing information from one or more of the cooking variable 415,the motion variable 420, the burning variable 425, the smoke signalvariable 430, and the smoke alarm variable 435, the analytics system 355may determine the risk 405.

In some embodiments, the analytics system 355 may include a baseline(e.g., set-point) for each variable. In some embodiments, the baselinemay be a programmed value within the analytics system. In otherembodiments, the baseline may be a moving value that may vary based uponpast information collected and analyzed from sensor data. Thus, theanalytics system 355 may compare a value of each of the variables 410with the variables' respective baseline and determine the impact of thatvariable on the risk 405. For example, if the value of one of thevariables 410 is greater than the variable's respective baseline, therisk 405 of the threat (e.g., fire) occurring may increase. Theanalytics system 355 may also use the variables 410 for which values areknown to predict or make inferences for those variables whose values areunknown, and determine the impact of the risk 405 from the inferences.Thus, based upon known and unknown values of the variables 410, theanalytics system 355 may calculate the risk 405.

For example, the analytics system 355 may receive information from amotion sensor in the area (e.g., kitchen) of the building 105 indicatingwhether there is motion in that area or not. This motion information maybe reflected by the motion variable 420. The analytics system 355 mayalso receive information from a smoke sensor in that area (e.g.,kitchen) indicating presence or absence of smoke in that area, andwhether the smoke alarm has gone off or not. Smoke may be represented bythe smoke signal variable 430 and the activation of the smoke alarm maybe represented by the smoke alarm variable 435. Based upon the values ofthe motion variable 420, the smoke signal variable 430, and the smokealarm variable 435, the analytics system 355 may infer the probabilitythat someone is cooking (represented by the cooking variable 415) andwhether some food is burning (represented by the burning variable 425).Using the values of the cooking variable 415, the motion variable 420,the burning variable 425, the smoke signal variable 430, and the smokealarm variable 435, the analytics system 355 determines the risk 405 ofa threat (e.g., fire) in the area (e.g., kitchen) of the building 105.

Referring to FIG. 5A in conjunction with FIG. 4, a risk chart 500 isshown, in accordance with some embodiments of the present disclosure.The risk chart 500 calculates a risk probability 505 that determines therisk 405 of whether a threat (e.g., fire) has occurred or is likely tooccur within an area (e.g., kitchen) of the building 105. For example,indication of motion by the motion variable 420 is represented by motionprobability 510. The motion variable 420 either indicates there ismotion or no motion within the area (e.g., kitchen) of the building 105.Thus, the motion probability 510 is either 100% when there is indicationof motion by the motion variable 420, or 0% when there is indication ofno motion by the motion variable. Similarly, the smoke alarm variable435 either indicates activation of the smoke alarm or no activation ofthe smoke alarm. Thus, a smoke alarm activation probability 515 iseither 100% when the smoke alarm variable 435 indicates activation ofthe smoke alarm, or 0% when the smoke alarm variables indicates noactivation of the smoke alarm.

Furthermore, in some embodiments, the analytics system 355 may beprogrammed such that if the smoke signal variable 430 is indicating anobscuration above 1.6%, the smoke alarm is activated. Thus, if the smokealarm has been activated (as indicated by the smoke alarm variable 435)or if the smoke signal variable 430 is indicating an obscuration ofgreater than 1.6%, the analytics system 355 may determine that a smokeprobability 520 is 100%. A value of greater than 1.6% obscuration forthe smoke signal variable 430 may be indicative of a threat (e.g.,fire). Thus, the 1.6% value is used as a baseline that may be programmedwithin the analytics system 355, or that the analytics system may havecalculated from past sensor data. When programmed, it is to beunderstood that the 1.6% value is merely an example. In otherembodiments, other values to indicate dangerous levels of smoke in anarea (e.g., kitchen) may be used.

Furthermore, in some embodiments, smoke alarms may have three attributesthat may be used for analysis. The attributes may be absolutetemperature, as measured by a thermistor of the smoke alarm,obscuration, as measured by a plastic chamber of the smoke alarm, andrelative temperature that is internal to a radio board processor of thesmoke alarm. The data and alarm status as monitored across multiplesmoke alarms inside a structure (e.g., the building 105) may be used toindicate the probability of a fire that may be located by the initiatingalarm. The probability calculation offered by multiple sensor analysismay provide future monitoring stations the ability to discern a “falsealarm” from a real fire scenario in real time.

Thus, based upon the smoke alarm being activated (based on the smokealarm activation probability 515 being 100%), and detection of smoke inthe area (e.g. kitchen) (based on the smoke probability 520 of smokeabove 1.6% obscuration being 100%), the analytics system 355 may inferthat some food is burning. The analytics system 355 may, therefore,increase a burning probability 525 by a certain value. For example, asillustrated in FIG. 5A, the analytics system 355 may determine thatthere is about 87% chance that some food (or something else) is burningin the area (e.g., kitchen). Again, the value by which the burningprobability 525 is increased or decreased may vary from one embodimentto another. For example, in some embodiments, the burning probability525 may be dependent upon the amount of smoke detected within the area(e.g., kitchen). Thus, for a given level of smoke, the burningprobability 525 may be a specific value. These levels of smoke andcorresponding values of the burning probability 525 may be programmedwithin the analytics system 355. In other embodiments, other mechanismsof determining the burning probability 525 may be used.

The analytics system 355 may also determine a cooking probability 530.For example, the analytics system 355 may increase the cookingprobability 530 when the analytics system determines that there ismotion in the area (e.g., kitchen) of the building 105, as indicated bythe motion probability 510. Based on the aggregate of the motionprobability 510, the smoke alarm activation probability 515, the smokeprobability 520, the burning probability 525, and the cookingprobability 530, the analytics system 355 may determine the riskprobability 505. For example, as illustrated in FIG. 5A, the analyticssystem 355 may determine from the motion probability 510, the smokealarm activation probability 515, the smoke probability 520, the burningprobability 525, and the cooking probability 530 that the riskprobability 505 is about 88% that the area (e.g., kitchen) is not onfire.

Thus, based upon a variety of variables, the analytics system 355 maydetermine risk of a threat (e.g., fire) occurring within an area (e.g.,kitchen) of the building 105. It is to be understood that the variables(e.g., the cooking variable 415, the motion variable 420, the burningvariable 425, the smoke signal variable 430, and the smoke alarmvariable 435) used by the analytics system 355 to determine the risk 405may vary from one embodiment to another. For example, the variables mayvary based upon the threat (e.g., fire) that the analytics system iscalculating the risk for, the area (e.g., kitchen) within the building105 for which the risk is calculated, and past normal values for thatthreat and area. In other embodiments, the analytics system 355 may takeother factors into consideration in determining the risk of a threat.Again, the values of probabilities (e.g., the motion probability 510,the smoke alarm activation probability 515, the smoke probability 520,the burning probability 525, and the cooking probability 530) and therisk probability 505, and the values by which those probabilities areincreased or decreased may vary.

With respect to FIGS. 4 and 5B, a risk chart 535 is shown, in accordancewith some embodiments of the present disclosure. The risk chart 535 issimilar to the risk chart 500 in that the risk chart also calculates arisk probability 540 based upon the cooking variable 415, the motionvariable 420, the burning variable 425, the smoke signal variable 430,and the smoke alarm variable 435. Thus, the risk chart 535 uses the samevariables as the risk chart 500, but comes up with a different outcome.For example, the risk probability 540 of the risk chart 535 predictsthat there is a three times more risk of a threat (e.g., fire) withinthe area (e.g., kitchen) of the building 105.

For example, in the risk chart 535, the analytics system 355 determinesa motion probability 545 to be 100% that there is no detected motion inan area (e.g., kitchen) of the building 105 based upon a value of themotion variable 420, a smoke alarm probability 550 to be 100% that thesmoke alarm has been activated based on a value of the smoke alarmvariable 435, and a smoke signal probability 555 to be 100% that thesmoke is greater than 1.6% of obscuration based upon a value of thesmoke signal variable 430. The analytics system 355 also determines thata burning probability 560 indicates close to a 56% probability of noburning in the area (e.g., kitchen) and close to a 43% percentprobability of burning in that area. The analytics system 355 may alsoinfer that a cooking probability 565 indicates a much greater likelihood(e.g., ˜95%) that there is no one cooking in the area (e.g., kitchen).Thus, based upon these probabilities, the analytics system 355 mayconclude that the risk probability 540 indicates a three times more riskof a threat (e.g., fire).

The analytics system 355 (or another component of the server 310) maythen use the analysis (e.g., the risk probability 505, 540) to determinewhether any alerts and/or alarms need to be generated, and generatethose alerts and/or alarms.

FIGS. 6A and 6B show graphs 600 and 605, respectively, in accordancewith some embodiments of the present disclosure. The graphs 600 and 605illustrate additional examples of how the analytics system 355 maydetect a threat (e.g., fire) from sensor data. For example, the graph600 plots temperature in a Kelvin temperature scale on y-axis 610against time over a period of time on x-axis 615. It is to be understoodthat the values and units represented on the x-axis 615 and the y-axis610 are an example and may vary in other embodiments.

For example, the graph 600 shows three plots, a first plot 620representing an upper set-point, a second plot 625 representing a lowerset-point, and a third plot 630 representing a real-time (orsubstantially real-time) temperature value. As discussed above, in someembodiments, the upper and the lower set-point points may bepredetermined and preprogrammed into the analytics system 355. In otherembodiments, the upper and the lower set-points may be adjustable (e.g.,self-adjusting) values that may change based upon past and presentsensor data (e.g., past and present temperature data). For example, insome embodiments, the upper and lower set-points may be calculated usinga midterm average value, a long term average value, and the real-time(or substantially real-time) or short term average temperature value.

Thus, as shown by the graph 600, the upper and lower set-pointsrepresented by the first plot 620 and the second plot 625, respectively,are affected by the real-time temperature changes represented in thethird plot 630. However, by virtue of using the average of averagestechnique discussed above, the fluctuations over time of the upper andlower set-points are not as large as the fluctuations of the real-time(or substantially real-time) temperature.

By comparing the real-time (or substantially real-time) temperaturevalue in the third plot 630 with the upper and lower set-point values inthe first and second plots 620 and 625, respectively, the analyticssystem 355 may determine an undesirable condition. For example, theanalytics system 355 may determine that an undesirable condition existswhen values in the third plot 630 deviate from the values in the firstplot 620 and the second plot 625. Thus, at point 635, the analyticssystem 355 may determine that the real-time (or substantially real-time)temperature is deviating from the upper and lower set-points and is,therefore, indicative of a potential undesirable condition (e.g.,abnormally high temperature). From the x-axis 615, the analytics system355 may determine the exact time when the deviation in the temperaturehas occurred.

In FIG. 6B, the graph 605 plots smoke obscuration in percentage ony-axis 640 against time over a period of time on x-axis 645. Again, thevalues and units along the x-axis 645 and the y-axis 640 may vary fromone embodiment to another. The graph 605 also illustrates three plots—afirst plot 650 for an upper set-point, a second plot 655 for a lowerset-point, and a third plot 660 for a threshold set-point. Again, theupper, lower, and threshold set-points may be predetermined andpreprogrammed within the analytics system 355, or they may be adjustablevalues that may change over time. In some embodiments, the thresholdset-point may be a value such that a smoke level beyond that value maybe indicative of an undesirable event.

The analytics system 355 may receive sensor data from a smoke sensorindicating a smoke level in the area in which the smoke sensor isinstalled (e.g., from the sensor 140). The analytics system 355 may plotthe sensor data on the graph 605 to compare that data with the upper setpoint, lower set-point, and the threshold set-point. For example, eachpoint 665 on the graph may indicate one reading of sensor data (e.g., ofthe sensor 140, which in some embodiments is a smoke sensor). Thus, fromthe graph 605, the analytics system 355 may determine that at point 670,the smoke level has crossed the threshold set-point represented by thethird plot 660, and therefore, an undesirable condition (e.g., smoke)exists in the area where the sensor 140 (which, as discussed above, is asmoke sensor in some embodiments) is located.

The analytics system 355 may also issue various alerts when theundesirable conditions of the graphs 600, 605 are detected. In someembodiments, the analytics system 355 may aggregate sensor data frommultiple sensors to detect a threat (e.g., fire) from the detectedundesirable conditions, and issue alarms. For example, the analyticssystem 355 may combine the temperature data from the graph 600 with thesmoke level data from the graph 605 to predict a fire event at least 5minutes before the fire actually breaks out.

For example, the analytics system 355 may determine that the temperaturein a given area of the building 105 is rising at the same (orsubstantially same) time as the smoke level in that area is rising.Based on that information, the analytics system 355 may determine that afire in the area is about to break out. In some embodiments, in theabsence of temperature rise, the use of both smoke obscuration andcarbon monoxide parts per million measurements may provide a strongprobability of a fire within the building 105.

In some embodiments, a combination of a smoke alarm, having threecriteria metrics discussed above, in addition to carbon monoxidemeasurements, may provide an excellent method of detecting smolderingfires within the building 105. The peak carbon monoxide levels mayindicate fire intensity in any given area within the building 105.Changing carbon monoxide levels may indicate smoldering fires in advanceof photo electric detection. In some embodiments, humidity readings maybe used to prevent false alarms.

Thus, the analytics system 355 may use multiple mechanisms to detect athreat and to prevent false alarms. The analytics system 355 (or anothercomponent of the server 310) may dial 911 or contact an emergencyresponse center directly to report the threat.

In some embodiments, the analytics system 355 may also predict threatpatterns. For example, the analytics system 355 may determine firepatterns, such as how a fire is spreading, how fast it is spreading,which areas are more vulnerable to catching fire, etc. based upon sensordata received from various the sensors 110 within the building 105, andby aggregating and analyzing the information in that sensor data.

Thus, the analytics system 355 is configured to predict, detect, andpossibly prevent undesirable conditions and threats. The analyticssystem 355 is also configured to learn the environment of the building105 over a given period of time (e.g., over 35 days) to obtain normaloperating conditions within the building. Upon determining the normaloperating conditions, the analytics system 355 may analyze all newlyacquired sensor data against known normal operating conditions tofacilitate early detection of threats.

Example reports that may be generated by the server 310 are shown inFIGS. 7A-7D, in accordance with some embodiments of the presentdisclosure. In some embodiments, these reports may be generated by thereporting system 360. In other embodiments, these reports may begenerated by the analytics system 355. In yet other embodiments, somereports may be generated by the analytics system 355 and other reportsmay be generated by the reporting system 360.

Example reports may include a protection overview report 700, a comfortoverview report 705, an activity overview report 710, and a buildingsafety report 715. Notwithstanding that only the protection overviewreport 700, the comfort overview report 705, the activity overviewreport 710, and the building safety report 715 are illustrated anddescribed herein, a variety of other reports are contemplated andconsidered within the scope of the present disclosure. For example, insome embodiments, each of the protection overview report 700, thecomfort overview report 705, the activity overview report 710, and thebuilding safety report 715 may be further broken down into more detailedreports. In other embodiments, other types of reports may be generatedas well. Further, the attributes that are listed on each of the reportsmay vary from one embodiment to another. In some embodiments, theattributes that are included in a report may be selected by a user(e.g., using filters).

Additionally, in some embodiments, different reports may be generatedbased upon the reviewer of a particular report. For example, reportsthat are generated for a customer may be different (albeit with someoverlapping information) than the reports that are generated for aninstaller, and those reports may be different (again, with possibly someoverlapping information) than the reports generated for use by theemergency response crew. Thus, a variety of reports for a variety ofpurposes may be generated by the server 310. These reports may providevaluable insights about various aspects of the building 105, such aswhether a particular area of the building or any features within thatarea need immediate attention, or need attention to improve the safetyand usability of that area.

The reports may be viewed using the user interface 125. In someembodiments, the server 310 may be configured to provide a notificationto the user (e.g., customer, installer, emergency response crew) on theuser interface 125 every time or periodically when one or more newreports directed for that user are generated. In other embodiments, theserver 310 may not provide any report notifications to the user (e.g.,customer, installer, emergency response crew), and may store thesereports such that the user may access the reports from the serveron-demand.

Furthermore, in some embodiments, these reports may be generatedperiodically. For example, a new report may be generated bi-weekly. Inother embodiments, a new report may be generated at other time periods(e.g., daily, weekly, monthly, annually, semi-annually, etc.). In otherembodiments, a new report may be generated from an older report any timeinformation within the older report changes. Moreover, in someembodiments, the new report may over-write and replace the old report,or in other embodiments, the new report may co-exist with the old reportwithin the server 310. In some embodiments, one or more of the reportsmay be configured to show data in real-time, and may, therefore, change,in real-time. In other embodiments, one or more of the reports may bepassive reports that may report data collected over time. In yet otherembodiments, the time frame in which a report is generated may varybased upon the information that the report is configured to convey. Forexample, a report configured to convey daily temperature within an areaof the building 105 may be generated daily, while a report configured toconvey average weekly or yearly temperature data may be generated weeklyor yearly, respectively.

An example of the protection overview report 700 is shown in FIG. 7A, inaccordance with some embodiments of the present disclosure. Theprotection overview report 700 provides an overall safety overview ofthe building monitoring system 100 in the entire building (e.g., thebuilding 105). For example, the protection overview report 700 includesinformation such as, how many sensors (e.g., the sensors 110) areinstalled within the building, how many areas (e.g., floors, rooms,etc.) are protected, how long the building monitoring system 100 hasbeen installed for, starting day and time when monitoring using thebuilding monitoring system started, and an ending day and time whenmonitoring using the building monitoring system is to stop. Otherinformation that may be considered useful may be provided within theprotection overview report 700. In some embodiments, an instance of theprotection overview report 700 may be generated for each area (e.g.,floor or each room on a floor) of the building 105.

The comfort overview report 705 of FIG. 7B provides temperature patternswithin the building 105. For example, the comfort overview report 705provides temperature patterns by various areas (e.g., floors and/orrooms) within the building 105 over a period of time, such that areviewer (e.g., customer, installer, emergency response crew) maydetermine the warmest and coolest areas within the building in a givenperiod of time, warmest and coolest times of the day within a givenarea, etc. The comfort overview report 705 may also provide temperatureaverages within specific areas within the building 105, in specificperiods of time. In other embodiments, the comfort overview report 705may also include information other than temperature, such as humidity,air flow, air purity, and other attributes that may be needed ordesired.

Similarly, the activity overview report 710 provides information relatedto activity (e.g., foot traffic) within the building 105. For example,the activity overview report 710 may include information such as busiestactivity time within the building 105 (e.g., when the building is themost crowded), areas of the building that see the most activity, how theactivity varies from one area of the building to another, other activitypatterns, etc. By understanding the activity patterns within thebuilding 105, users (e.g., customers, installers, emergency responsecrew) may determine when and where safety may be an issue in thebuilding.

The building safety report 715 provides safety related informationwithin the building 105. For example, in some embodiments, the buildingsafety report 715 provides sensor data from the sensors 110 installedthroughout the building 105. The building safety report 715 may alsoprovide an analysis of the sensor data to include information, such asareas of the building 105 that are at a high risk for catching fire, anyalerts and alarms generated in a given period of time, etc.

Again, the types of reports, and the information conveyed by thosereports may vary from one embodiment to another based upon theinformation that is needed or desired, as well as who the reviewer ofthat report is.

Example reports that may be generated for a building information systemare shown in FIGS. 8A-8E, in accordance with some embodiments of thepresent disclosure. For example, the reports of FIGS. 8A-8E may be usedby one or more building or property managers to visually monitor variousconditions in one or multiple buildings. The reports in FIGS. 8A-8Eillustrate example conditions that may be monitored in one building. Thereports of FIGS. 8A-8E may be expanded to include information formultiple buildings as well. Furthermore, as described below, one or moreof the reports of FIGS. 8A-8E may have various report sections toprovide varying types of information to a reviewer.

For example, report 800 of FIG. 8A includes a first report section 805,a second report section 810, and a third report section 815. The firstreport section 805 provides a general overview of the status of thebuilding 105 being monitored within a specific period of time. In someembodiments, the listings within a report section may be interactive.For example, within the first report section 805, a reviewer may be ableto interact with (e.g., click, highlight, hover on, etc.) an attributeto receive further details of that attribute. In the second reportsection 810, the report 800 includes a graphical representation ofaverage floor temperatures within a given period, while in the thirdreport section 815, the report includes a graphical representationplotting a motion score associated with a motion activity within a givenperiod.

It is to be understood that the time frame for which information isdisplayed within the first report section 805, the second report section810, and the third report section 815, may vary from one embodiment toanother, and need not be the same for each of the first, second, andthird report sections. Additionally, the type of representation (e.g.,graphical, tabular, list, etc.) within each of the first report section805, the second report section 810, and the third report section 815 mayvary from one embodiment to another. In some embodiments, each of thefirst report section 805, the second report section 810, and the thirdreport section 815 may be individually configurable, such that areviewer may be able to modify the parameters of a given section. Forexample, in some embodiments, the reviewer may be able to modify thetype of representation, the period for which information is displayed,as well as the type of information (e.g., temperature report, motionscore report, etc.) that is displayed within each report section.

Additionally, although three report sections (e.g., the first reportsection 805, the second report section 810, and the third report section815) have been shown in the report 800, in other embodiments, fewer thanor greater than three report sections may be displayed. The arrangement,size, color, and other configurations of each of the report sections(e.g., the first report section 805, the second report section 810, andthe third report section 815) may also vary from one embodiment toanother.

In FIG. 8B, a report 820 is shown, in accordance with some embodimentsof the present disclosure. The report 820 is a variation of the report800. For example, similar to the report 800, the report 820 includesvarious report sections. For example, the report 820 includes a firstreport section 825, a second report section 830, a third report section835, and a fourth report section 840. The first report section 825 ofthe report 820 is similar to the first report section 805 of the report800 in that both sections display the same (or similar) information, butin different formats.

Similarly, the second report section 830 of the report 820 is similar tothe second report section 810 of the report 800, both of which showtemperature measurements within the building 105 in different formats.The third report section 835 of the report 820 is similar to the thirdreport section 815 of the report 800, both of which illustrate a motionscore within various areas of the building 105 in different formats. Thefourth report section 840 of the report 800 indicates abnormal smokeactivity within various areas of the building 105 within a specificperiod of time. Thus, a reviewer of the reports of FIGS. 8A-8E may viewsame (or similar) information in varying formats, and may choose toarrange that information in varying ways.

Reports 845, 850, and 855 of FIGS. 8C, 8D, and 8E, respectively, aresimilar to the reports 800 and 820 and have, thus, not been describedagain. In some embodiments, each of the reports 800, 820, 845, 850, and855 may be accessed from a web interface or an online portal accessedusing a computer, or using the customer mobile application. Thus, viathe reports, the building monitoring system 100 provides for systemadministration and system health reporting functionalities formonitoring building comfort, building safety, building security, etc.

A monitoring computer 900 is shown in FIG. 9, in accordance with someembodiments of the present disclosure. The monitoring computer 900 issimilar to the monitoring computer 130 of FIG. 1. The monitoringcomputer 900 includes, in some embodiments, a memory 905, a processor910, a transceiver 915, a user interface 920, and a power source 925. Inalternative embodiments, additional, fewer, or different elements may beprovided within the monitoring computer 900. The monitoring computer 900may be a desktop computer, a laptop computer, a smartphone, another typeof hand-held device, or a specialized computing device suitable for thefunctions described herein. The monitoring computer 900 may be used toimplement one or more of the methods described herein.

In some embodiments, the memory 905 of the monitoring computer 900 is anelectronic holding place or storage for information so that theinformation may be accessed by the processor 910. The memory 905 mayinclude, but is not limited to, any type of random access memory (RAM),any type of read-only memory (ROM), dynamic random access memory (DRAM),programmable read only memory (PROM), erasable programmable read onlymemory (EPROM), electrically erasable programmable read only memory(EEPROM), any type of flash memory, such as magnetic storage devices(e.g., hard disk, floppy disk, magnetic strips, etc.), optical disks(e.g., compact disk (CD), digital versatile disk (DVD), etc.), smartcards, flash memory devices, etc. The monitoring computer 900 may alsohave one or more computer-readable media that use the same or differentmemory media technology. The monitoring computer 900 may have one ormore drives that support the loading of a memory medium such as a CD, aDVD, a flash memory card, etc.

Furthermore, the memory may be in communication with the processor 910that executes instructions. The instructions may be carried out by aspecial purpose computer, logic circuits, or hardware circuits. Theprocessor 910 may be implemented in hardware, firmware, software, or anycombination thereof. The term “execution” is, for example, the processof running an application or the carrying out of the operation calledfor by an instruction. The instructions may be written using one or moreprogramming language, scripting language, assembly language, etc. Theprocessor 910 executes an instruction, meaning that it performs theoperations called for by that instruction. The processor 910 operablycouples with the user interface 920, the transceiver 915, the memory905, etc. to receive, to send, and to process information and to controlthe operations of the monitoring computer 900. The processor 910 mayretrieve a set of instructions from a permanent memory device such as aROM device and copy the instructions in an executable form to atemporary memory device that is generally some form of RAM. Theprocessor 910 may include multiple processors that use the same or adifferent processing technology. In an illustrative embodiment, theinstructions may be stored in the memory 905.

With respect to the transceiver 915, the transceiver is configured toreceive and/or transmit information to/from the monitoring computer 900.For example, the transceiver 915 may be configured to communicate withthe server 120, the gateway 115, etc. In some embodiments, thetransceiver 915 communicates information via a wired connection, such asan Ethernet connection, one or more twisted pair wires, coaxial cables,fiber optic cables, etc. In some embodiments, the transceiver 915communicates information via a wireless connection using microwaves,infrared waves, radio waves, spread spectrum technologies, satellites,etc. The transceiver 915 may be configured to communicate with anotherdevice using cellular networks, local area networks, wide area networks,the Internet, etc. In some embodiments, one or more of the elements ofthe monitoring computer 900 communicate via wired or wirelesscommunications. In some embodiments, the transceiver 915 provides aninterface for presenting information from the monitoring computer 900 toexternal systems, users, or memory. For example, the transceiver 915 mayinclude an interface to a display, a printer, a speaker, etc. In someembodiments, the transceiver 915 may also include alarm/indicatorlights, a network interface, a disk drive, a computer memory device,etc. In other embodiments, the transceiver 915 may receive informationfrom external systems, users, memory, etc.

The user interface 920, in some embodiments, is configured to receiveand/or provide information from/to a user. The user(s) may be emergencyresponse crew. The user interface 920 may be any suitable userinterface. The user interface 920 may be an interface for receiving userinput and/or machine instructions for entry into the monitoring computer900. The user interface 920 may use various input technologiesincluding, but not limited to, a keyboard, a stylus and/or touch screen,a mouse, a track ball, a keypad, a microphone, voice recognition, motionrecognition, disk drives, remote controllers, input ports, one or morebuttons, dials, joysticks, etc. to allow an external source, such as auser, to enter information into the monitoring computer 900. The userinterface 920 may be used to navigate menus, adjust options, adjustsettings, adjust display, etc.

The user interface 920 may also be configured to provide an interfacefor presenting information from the monitoring computer 900 to externalsystems, users, memory, etc. For example, the user interface 920 mayinclude an interface for a display, a printer, a speaker,alarm/indicator lights, a network interface, a disk drive, a computermemory device, etc. The user interface 920 may include a color display,a cathode-ray tube (CRT), a liquid crystal display (LCD), a plasmadisplay, an organic light-emitting diode (OLED) display, etc.

Furthermore, in some embodiments, the power source 925 is configured toprovide electrical power to one or more elements of the monitoringcomputer 900. In some embodiments, the power source 925 includes analternating power source, such as available line voltage (e.g., 120Volts alternating current at 60 Hertz in the United States). The powersource 925 may include one or more transformers, rectifiers, etc. toconvert electrical power into power useable by the one or more elementsof the monitoring computer 900, such as 1.5 Volts, 8 Volts, 12 Volts, 24Volts, etc. The power source 925 may include one or more batteries.

In some embodiments, any of the operations described herein may beimplemented at least in part as computer-readable instructions stored ona computer-readable memory. Upon execution of the computer-readableinstructions by a processor, the computer-readable instructions cancause a node to perform the operations.

Furthermore, the monitoring computer 900 is configured to communicatewith sensors 930, gateway 935, and server 940. The sensors 930 areequivalent to the sensors 110 and specifically to the sensors 140, 145,150, 155, 160, and 165. Likewise, the gateway 935 is similar to thegateway 115, and the server 940 is similar to the server 120. Themonitoring computer 900 is configured to receive sensor data from thesensors 930, the gateway 935, and the server 940 via communication links945. The communication links 945 are similar to the communication links185 and 195 of FIG. 1.

By virtue of communicating with the sensors 930, the gateway 935, andthe server 940, the monitoring computer 900 (e.g., the processor 910 ofthe device) may receive information specific to the building 105, suchas, the height and footprint of the building, floor-plan of thebuilding, age of the building, any hazardous material in the building,any specific material used in the construction of the building, anysafety features employed within the building, and any other feature thatmay aid the emergency response crew in devising an action plan. Themonitoring computer 900 may also receive/view the reports (e.g., theprotection overview report 700, the comfort overview report 705, theactivity overview report 710, the building safety report 715) generatedby the server 940. In some embodiments, such as when the sensor data isonly periodically updated and transmitted to the monitoring computer900, the monitoring computer may be configured to receive sensor dataon-demand directly from the sensors 930. Thus, in those embodiments, themonitoring computer 900 may be configured to receive sensor data bothautomatically and on demand. In some embodiments, the emergency responsecrew may be able to simply connect to the server 940 (and/or to thegateway 935 and the sensors 930 if the gateway and sensors are within aconnection range) to download the information.

Thus, the monitoring computer 900 may be used by an emergency responsecrew to receive, view, and monitor information about various conditionsrelated to the building 105. The monitoring computer 900 may also beused for devising an emergency response plan based on the information inreal-time (or substantially real-time), thereby achieving a faster andmore effective rescue response.

Example interfaces of an installer mobile application are shown in FIGS.10A-10E, in accordance with some embodiments of the present disclosure.The installer mobile application may be used by trained installationpersonnel, such as trained fire and security dealers, installers,trained electricians, trained plumbers, trained restorationprofessionals, and other trained personnel (referred collectively to“installer” herein) who may be qualified to install and manage thebuilding monitoring system 100 within the building 105.

The installer mobile application may be installed on a user device(e.g., the first mobile device 190B). The installer mobile applicationmay facilitate easy access to the various components (e.g., the sensors110 and the gateway 115) of the building monitoring system 100 afterinstallation. The installer mobile application may also be used tofacilitate installation of the building monitoring system 100, asdiscussed in greater detail below. To install and/or manage the buildingmonitoring system 100 via the installer mobile application, an installermay first download and install the installer mobile application on theinstaller's mobile device (e.g., the first mobile device 190B). Theinstaller may be able to download the installer mobile application, forexample, via a developer's website, digital marketplace, app store, textor e-mail message, or any other mechanism that the building monitoringsystem 100 may use to make the installer mobile application available tothe installer for download and installation.

Furthermore, in some embodiments and as discussed above, the installermobile application may be a stand-alone application provided by thebuilding monitoring system 100. In other embodiments, the installermobile application may be part of a larger building monitoring systemapplication or portal provided by the building monitoring system 100. Inyet other embodiments, the installer mobile application may be aweb-based application that is maintained remotely by the buildingmonitoring system 100 and that the installer may access via a webbrowser on the installer's mobile device (e.g., the first mobile device190B). By virtue of using the installer mobile application, theinstaller may securely install and/or manage various features of thebuilding monitoring system 100.

In some embodiments, the installer mobile application may be factoryconfigured and provided to the installer by the manufacturer/provider ofthe building monitoring system 100. In other embodiments, the installermobile application may be field configured (e.g., configured by theinstaller). Furthermore, in some embodiments, the installer's mobiledevice (e.g., the first mobile device 190B) may be provided by themanufacturer/provider of the building monitoring system 100, while inother embodiments, the installer's mobile device may be the installer'spersonal mobile device.

It is to be understood that only those features of the installer mobileapplication are shown and described herein that are necessary for aproper understanding of the present disclosure. Nevertheless, severalother or different features, including aesthetic and functional featuresthat may be needed or considered desirable to perform the operationsdescribed herein may be included in the installer mobile application.Furthermore, the arrangement, shape, size, and configuration of thevarious features of the installer mobile application may vary from oneembodiment to another.

In FIG. 10A, interface 1000 presents a secure login view of theinstaller mobile application to the installer. Each installer of theinstaller mobile application may be assigned a unique username tosecurely access and setup various features related to installing andmanaging the building monitoring system 100. In other embodiments,instead of assigning a username/password to the installer, the installermay be directed to create an installer account upon accessing theinstaller mobile application for the first time. In those embodiments,the installer may pick a username, password, and provide additionalpersonal details to create the installer account.

After being assigned a username/password, or after creating an installeraccount, the installer may log into the installer mobile applicationusing the interface 1000. For example, the installer may enter theusername in field 1005, password in field 1010, and actuate a sign-inbutton 1015 to log into the installer mobile application. In otherembodiments, other or additional methods of authenticating the user maybe used. For example, in some embodiments, access codes, identificationpins, biometrics, such as fingerprint readers and eye scanners, patternrecognition, etc. may be used to authenticate the user. Additionally,although not shown, in some embodiments, the interface 1000 may includefeatures such as a forget password link, create account link, changepassword link, captcha or other challenge-response tests, quick responsecodes, etc. Furthermore, in some embodiments, the interface 1000 may bepersonalized or customized to reflect the installer's information. Forexample, in some embodiments, area 1020 of the interface 1000 mayinclude a logo or other indicia of the installer's business, in additionto or instead of the information related to the building monitoringsystem 100.

Additionally, in some embodiments, the “installer” may be a company ordealer that offers the building monitoring system 100 to consumers. Inother embodiments, the “installer” may be a person (e.g., a manager of acompany) who manages one or more particular subordinate installers tofacilitate installation and management of the building monitoring system100.

Upon logging into the installer mobile application, the installer isable to access interface 1025 of FIG. 10B. The interface 1025 lists allactive accounts 1030 of the installer. Each active account in the listof active accounts 1030 corresponds to one or more specific buildingmonitoring systems (e.g., the building monitoring system 100). Forexample, a company or manager installer may be responsible for managingone or more particular installers. The company or manager installer maycreate an account for each particular installer who is responsible forinstalling and/or managing a building monitoring system (e.g., thebuilding monitoring system 100). By virtue of creating an account foreach particular installer, the company or manager installer may keeptrack of the building monitoring system 100 that have been installed,and quickly determine which person is responsible for managing thosebuilding monitoring systems.

In some embodiments, each account within the list of active accounts1030 may be an interactable link that the company or manager installermay interact with (e.g., click, highlight, hover on, etc.) to access andview additional information related to each account, as well as editvarious details (e.g., contact information, demographic information,etc.) related to that account. The company or manager installer may alsoadd new accounts using add button 1035 on the interface 1025.

The interface 1025 may include additional buttons not shown, such as adelete button to delete an account, an edit button to edit accountdetails without having to go within a specific account, a search box tosearch for an account, etc. Other features that may be needed orconsidered desirable to have may be included within the interface 1025.In some embodiments, the interface 1025 may also provide the ability toview a listing of inactive accounts that correspond to buildingmonitoring systems (e.g., the building monitoring system 100) that areno longer actively monitoring the building(s) (e.g., the building 105)in which they are installed.

By interacting with a particular account, the company or managerinstaller is able to access interface 1040. Within the interface 1040,all existing sites 1045 that are connected to the accessed account arelisted. Each site may be composed of one or more buildings (e.g., thebuilding 105) or an area or areas of the building where an instance ofthe building monitoring system 100 is installed. Thus, the number ofbuildings within a single site may vary. Also, in some embodiments, anaccount may be connected to a single site, while in other embodiments,an account may include multiple sites, with each site having one or morebuildings.

For example, an account for a single family homeowner is likely toinclude a single site—the homeowner's single family residence where thebuilding monitoring system 100 is installed. In contrast, an account fora university may include multiple sites, with each site corresponding toone or more specific buildings within the university. In someembodiments, it may be desirable to divide a single large building intomultiple sites. For example, if a building includes a series ofinterconnected areas or phases, each area or phase may be installed withits own instance of the building monitoring system 100. In those cases,each area or phase of the single large building may be considered aseparate site. Likewise, in some embodiments, a plurality of smallerbuildings may be combined together into a single site. Thus, theconfiguration of a “site” may vary from one embodiment to another.Generally speaking, each site corresponds to an installed instance ofone building monitoring system (e.g., the building monitoring system100).

Within the interface 1040, each of the existing sites 1045 may beprovided as an interactable link that the installer (whether company ormanager installer, or a particular installer) may interact with to viewor edit information related to that site. The interface 1040 may alsoprovide an add button 1050 to add additional sites to the account. Insome embodiments, the installer may also use the add button 1050 to editvarious features of a particular one of the sites in the list of theexisting sites 1045. For example, the installer may add or deletebuildings from a given site, may add or delete floors and specific roomsfrom a given building in a site, add or edit sensors and gateways fromvarious locations of a building in a site, etc.

In addition, the interface 1040 may include a tab 1055 that theinstaller may use to navigate through the account. For example, theinstaller may be able to go back to the interface 1025 using an accountfeature 1060, return to the interface 1040 from other interfaces using asite feature 1065, conduct a health check of each site using a healthcheck feature 1070, and view/modify settings related to a particularaccount or a particular site within that account using a settingsfeature 1075. Additional or different features may be provided withinthe tab 1055. Further, in some embodiments, the shape, size, andarrangement of the tab 1055 may vary. In some embodiments, the addbutton 1050 may be provided within the tab 1055. Likewise, in someembodiments, one or more of account feature 1060, the site feature 1065,the health check feature 1070, and the settings feature 1075 may beprovided outside of the tab 1055. Moreover, although not shown in theinterface 1025, an instance of the tab 1055 (with modification toinclude appropriate features for that interface) may be included in theinterface 1025.

Furthermore, the interface 1040 may include additional features, notshown in FIG. 10C. For example, in some embodiments, the interface 1040may allow the user to add notes for each site (e.g., peculiarities in abuilding of a given site, etc.), attach and associate pictures andvideos with a site, provide options to share information with others(e.g., with emergency response crew), etc.

In FIG. 10D, an interface 1080 is shown, in accordance with someembodiments of the present disclosure. The interface 1080 may beaccessed by interacting with one of the existing sites 1045 of theinterface 1040. Within the interface 1080, the installer may be able toaccess a list 1085 of sensors (e.g., the sensors 110) and gateways(e.g., the gateway 115) installed as part of the building monitoringsystem 100 of that site. Within the list 1085, each component may beidentified as the type of component (e.g., whether a sensor or agateway, and which type of sensor), the identification code of thatcomponent, as well as the status of that component (e.g., whether aparticular sensor is sensing and reporting data to the gateway or not,whether the gateway is connected to the sensors or not, etc.). The list1085 may also provide information as to which sensors (e.g., the sensors110) are controlled by which gateway(s) (e.g., the gateway 115). Thisinformation may be particularly useful when the building monitoringsystem 100 includes multiple gateways.

As will be described below, the installer may also use the interface1080 (and/or the interface 1040) to facilitate installation of thebuilding monitoring system 100. For example, the installer may add andassociate sensors and gateway(s) to the interface 1080 for each givensite. In some embodiments, the interface 1080 (and/or the interface1040) may include a code reader (e.g., a quick response code reader)that the installer may use to add and associate additional sensors andgateway(s) with a given site. In other embodiments, the installer mayuse a camera of the mobile device (e.g., the first mobile device 195B)to scan quick response codes from sensors and the gateway(s) and add thescanned sensors and gateway(s) to a given site.

The interface 1080 may also provide information related to signalstrength of connection between various components. Any additionalinformation that may be deemed useful or desirable to know about thecomponents in the list 1085 may be included within the interface 1080.In some embodiments, each component in the list 1085 may beinteractable, such that the installer may interact with that componentto view additional details pertaining to that component. For example,for each sensor (e.g., the sensors 110) within the list 1085, theinstaller may view when the sensor last collected data, sent data to thegateway (e.g., the gateway 115), if the sensors experienced anydisruption in communicating with the gateway (e.g., the gateway 115),etc. By virtue of being able to view the status of various components(e.g., the sensors 110 and the gateway 115) of the building monitoringsystem 100 within the interface 1080, the installer may quickly gaugethe health of the building monitoring system, and whether any componentof the building monitoring system needs attention. The installer mayalso be able to determine any specific problems in any of the componentsby connecting to the server 120.

Similar to the interface 1040, the interface 1080 may include the tab1055 with the account feature 1060, the site feature 1065, the healthcheck feature 1070, and the settings feature 1075 to navigate throughthe installer mobile application. Additional features that may be deemeduseful to include in the interface 1080 may be provided in otherembodiments.

An interface 1090 is shown in FIG. 10E, in accordance with someembodiments of the present disclosure. The interface 1090 may beaccessed by interacting with the settings feature 1075 on the tab 1055or by interacting with the add button 1035 on the interface 1025. Theinterface 1090 provides the ability to manage a given account (e.g., thelist of active accounts 1030), add a new account (e.g., add a newinstaller), and/or add/edit a customer's information related to anaccount. By using the interface 1090, the installer may view, add,delete, or modify account information using the installer's mobiledevice (e.g., the first mobile device 190B).

In some embodiments, the interface 1090 may include various fields, suchas a first name field 1095A, a last name field 1095B, a phone field1095C, and an email field 1095D. Using those fields, the installer maymanage the information related to an account. By interacting with button1095E, the installer may save the information entered into the firstname field 1095A, the last name field 1095B, the phone field 1095C, andthe email field 1095D. In other embodiments, the interface 1090 mayinclude other or additional fields, such as a cancel field to cancel anychanges to the account before saving, a middle name field to add amiddle name of an installer/customer, multiple instances of the phonefield 1095C to add personal, work, and/or cellular phone numbers, anaddress field to add an address of the installer/customer, a notes fieldto add any notes or specific directives of the installer/customer, etc.

Thus, by using the installer mobile application, an installer of thebuilding monitoring system 100 may conveniently and quickly install aninstance of the building monitoring system 100 in a building (e.g., thebuilding 105), manage the various components (e.g., the sensors 110 andthe gateway 115) of the building monitoring system, monitor the healthof those components, and otherwise manage a plurality of accounts withease.

Example interfaces of a customer mobile application are shown in FIGS.11A-11E, in accordance with some embodiments of the present disclosure.The customer mobile application may be used by a customer to get asecure view of all metrics, alerts, alarms, health messages, reports,and other information generated by the server 120. The customer mobileapplication provides the ability to share the metrics, alerts, alarms,health messages, reports, and other information with other users, aswell as generate and send notifications (e.g., emails, text messagesphone calls, etc.) to other users. In some embodiments, the customermobile application may also be configured to automatically and/oron-demand connect to an emergency response center when a threat isdetected by the server 120. In some embodiments, the customer mobileapplication may also provide the ability to store the informationreceived from the server 120 for use offline, print that information, orotherwise manage that information in varying ways. Other features of thecustomer mobile application that may be considered useful or desirablemay be included in the customer mobile application.

The customer mobile application is configured to be used by a customerof the building monitoring system 100, such as a homeowner, businessowner, property manager, and other people who may have one or moreinstances of the building monitoring system installed on their propertyor properties they manage. The customer mobile application may beconfigured in a variety of ways depending upon the needs of thecustomers using the customer mobile application. For example, in someembodiments, the customer mobile application may be configured to beshared by multiple customers. In those cases, an account may be createdwithin the customer mobile application, and the account may beconfigured for access by multiple customers. In other embodiments, eachaccount may be configured to be used by one customer only. Thus, thecustomer mobile application may be scaled depending upon the needs ofthe customer(s) using the customer mobile application. The customermobile application may also be configured to include informationpertaining to one, some, or all of the sites, buildings, floors, roomson a floor, areas, locations, etc. Thus, the customer mobile applicationprovides a convenient and easy to use virtual security panel formonitoring a variety of undesirable conditions and threats within thebuilding 105.

An interface 1100 is shown in FIG. 11A, in accordance with someembodiments of the present disclosure. The interface 1100 may beaccessed by installing the customer mobile application on a mobiledevice (e.g., the second mobile device 190C) of a customer (e.g.,homeowner, property manager, etc.), and, in some embodiments, by logginginto a customer account. To log into the customer account, the customermay be required to create the customer account the first time thecustomer accesses the customer mobile application after installation. Inother embodiments, the customer account may be created by themanufacturer or installer of the building monitoring system 100, and theattributes (e.g., username, password) of the customer account may beprovided to the customer by the manufacturer or installer.

In yet other embodiments, the customer mobile application may beconfigured to be accessed without a customer account. In suchembodiments, the building monitoring system 100 may use anothermechanism of authenticating the customer and for associating thecustomer to a specific building monitoring system. Furthermore, in someembodiments, the mobile device (e.g., the second mobile device 190C) maybe either the customer's personal mobile device, or in some embodiments,it may be provided by the manufacturer or installer. It is also to beunderstood that in some cases, the manufacturer and the installer may bethe same entity.

Upon logging in, the interface 1100 is configured to display a site viewof the building monitoring system 100. For example, in some embodiments,the interface 1100 includes a list 1105 of all sites and all buildingswithin that site that are managed by the customer. Again, each site mayinclude one or multiple buildings that are monitored by one or moreinstances of the building monitoring system 100. In some embodiments,the number of buildings that may be allowed within one site may berestricted (e.g., up to 10). Likewise, in some embodiments, the numberof sites that may be linked to an account may be restricted (e.g., up to7). In other embodiments, such restrictions (whether of the number ofsites or number of buildings within a site) may not be imposed.

In some embodiments, the interface 1100 may also be configured todisplay site wide system health in a single view, and site wide alertsand alarms in a single view. For example, for each site and for eachbuilding within that site listed within the list 1105, the interface1100 may display whether a fault has been detected in any sensors and,if any alerts or alarms were generated within a given period. Thus, site1110 in the list 1105 shows that at least one sensor in that site isfaulted, while site 1115 shows that all of the sensors within that siteare functioning as intended.

By interacting (e.g., by clicking, highlighting, hovering over, etc.)with the site 1110, for example, the customer may determine exactlywhich one of the sensors within the site is faulted using interface 1120of FIG. 11B. In some embodiments, where the site includes a singlebuilding, the interface 1100 may or may not be provided. The singlebuilding may be listed in the list 1105 when the interface 1100 isprovided, or in some embodiments, the customer may be taken directly tothe interface 1120 when the site includes a single building. Theinterface 1120 is configured to reveal additional information (e.g.,status information) about a site (e.g., the site 1110). For example, byinteracting with the site 1110 on the interface 1100, the customer mayaccess the interface 1120 to see the status of the site 1110. Theinterface 1120 provides a list 1125 indicating various areas of the sitethat are monitored using the building monitoring system 100.

For example, a building in the site 1110 may include one or more floors,and each floor may include one or more rooms. Thus, the list 1125 may beconfigured to display information by floors or by rooms of a building.In some embodiments, the customer may be able to switch between a floorlevel view and a room level view. By virtue of switching between floorand room level views, the customer may be able to exactly determinewhere a faulted one of the sensors 110 is located. For example, asshown, the interface 1120 shows a room level view and a quick glance ofthe interface 1120 reveals to the customer that the sensor in mainoffice lab 1130 is faulted (e.g., by virtue of the icon next to the mainoffice lab being grey, and not a green check mark; or by virtue ofsorting the list 1125 such that the faulted sensors are listed first).Additionally, although not shown, the interface 1120 may also display,in some embodiments, any alarms or alerts generated from an area (e.g.,each floor or each room on a floor).

In addition to determining the status of sensors, the interface 1120 mayprovide additional information for each area (e.g., each floor or eachroom on a floor) listed within the list 1125. For example, for each arealisted within the list 1125, the interface 1120 may display an averageroom temperature 1135 within that area, as well as an occupancy level1140. The occupancy level 1140 may be shown for each area (e.g., eachfloor or each room on a floor) where a motion sensor is installed, suchthat a quick glance of the occupancy level 1140 may reveal to thecustomer whether motion has been detected within that area in a givenperiod. In some embodiments, the occupancy level 1140 may be colorcoded, such that a green occupancy level indicates motion within thelast five minutes, an orange occupancy level indicates motion within thelast thirty minutes, and a black occupancy level indicates no motionwithin the last thirty one minutes or more. In other embodiments, othercolors, or other indications may be used for the occupancy level 1140.

Furthermore, in some embodiments, the interface 1120 may be configurablesuch that in addition to switching between a floor level view and a roomlevel view, the customer may also choose between various indicators(e.g., the average room temperature 1135, occupancy level 1140) that thecustomer desires to display on the interface 1120. Additionally,although only two of the indicators (e.g., the average room temperature1135, occupancy level 1140) in addition to the status of the sensors 110are displayed for each area within the interface 1120, in otherembodiments, the number of indicators may vary to be fewer than orgreater than two.

Thus, the interface 1120 displays floor wide or room wide system healthstatus (e.g., status of the sensors 110), alarms, and alerts, in asingle view, as well as various indicators (e.g., the average roomtemperature 1135, occupancy level 1140) that may be important to thecustomer.

FIGS. 11C-11E display interfaces 1145, 1150, and 1155 that may be usedto view additional information related to a building. For example, theinterface 1145 of FIG. 11C includes a list 1160 of past and currentalerts and alarms within a specified period of time. In someembodiments, the list 1160 may list all events (e.g., alerts and alarms)within a specified period of time (e.g., weekly, monthly, or within thelast three months) in chronological order occurring with a building(e.g., a building of the site 1110). Furthermore, in some embodiments,each event may include a time stamp and a date stamp. The customer mayview additional information about any of the event within the list 1160by further interacting (e.g., clicking on, highlighting, hovering over,etc.) with that event. In some embodiments, each event in the list 1160may be prefixed by an icon that may reveal in a quick glance to thecustomer whether that event is an alert or an alarm. In someembodiments, an alert may be further classified as a fault or a warning,with each being represented by a different type of icon.

For example, in some embodiments, icon 1165 may be used to identify anevent as fault. A fault may indicate a problem with an installed one ofthe sensors 110 or the gateway 115. Icon 1170 may be used to identify anevent as a warning. A warning may indicate significant deviations fromnormal operating conditions (e.g., temperature, humidity, etc.) withinan area (e.g., a floor or room on a floor). For example, an abnormallyhigh temperature within an area may generate a warning. In someembodiments, a warning may be preceded by an alarm. Icon 1175 may beused to identify an alarm. For example, the server 120 may firstgenerate a warning (represented by the icon 1170) when temperaturewithin an area of the building 105 is abnormally high, and then an alarm(represented by the icon 1175) when the server determines that thetemperature is increasing at a rate indicative of a fire. Thus, by aquick glance of the icons 1165, 1170, and 1175, the customer maydetermine what types of events have occurred within the building 105.

It is to be understood that the icons 1165, 1170, and 1175 that are usedto identify faults, warnings, and alarms, respectively, may vary inother embodiments. In other embodiments, other indicia to identifyfaults, warnings, and alarms may be used. Furthermore, the informationthat is displayed within each event may vary from one embodiment toanother. In some embodiments, the specific period of time (e.g., weekly,monthly, within the last three months) within which the events arelisted within the list 1160 may be configurable such that the specificperiod of time may be changed or customized. Thus, various variations ofthe interface 1145 are contemplated.

For each fault, warning, or alarm, the customer may view additionalinformation about that fault, warning, or alarm by interacting with aparticular event. For example, by interacting with event 1180 on theinterface 1145, the customer may be directed to the interface 1150 ofFIG. 11D. The interface 1150 is a detailed screen that displays amessage description of the type of event (e.g., fault, warning, alarm),and provides the ability for a customer to include comments about thatevent. In some embodiments, the interface 1150 may also include afrequently-asked-questions or help feature to provide additionalinformation on the event (e.g., what conditions lead to generation ofthat event, etc.), and an emergency contact information to allow thecustomer to contact an emergency response center (e.g., dial 911) fromwithin the interface 1150.

In some embodiments, the interface 1150 may be easily and quicklyaccessed by the customer using the customer's mobile device (e.g., thesecond mobile device 190C). For example, the server 120 may issue a texton the customer's mobile device (e.g., the second mobile device 190C)when the alarm related to the event 1180 is generated. Within the text,the server 120 may include a link to the interface 1150. Thus, byinteracting with the link (e.g., clicking on the link), the customer maybe directly taken to the interface 1150 (assuming the customer mobileapplication is installed on the customer's mobile device).

The interface 1150 provides the necessary information to enable thecustomer to take further action (e.g., dial 911). The interface 1150 mayalso list, in some embodiments, the priority (e.g., high, medium, low)of the event 1180, the location of the event, and any other or differentinformation that may be considered useful to provide to the customer.Thus, the interface 1150 provides a detailed view of any faults,warnings, or alerts that are issued by the server 120.

FIG. 11E shows the interface 1155 that provides a visual view of thevarious metrics (e.g., temperature, smoke, carbon monoxide, motion,etc.). In some embodiments, and as shown, the interface 1155 provides agraphical representation of the metrics within a specific period of time(e.g., past twenty four hours, one week, one month, etc.). In otherembodiments, other methods of visually representing the data may beused. Furthermore, the metrics that are displayed within the interface1155 may be chosen from a list 1185. The list 1185 may provide, in someembodiments, a chronological listing of all measurements from which thecustomer may choose. In some embodiments, the interface 1155, or atleast a portion 1190 of the interface in which the metrics are displayedmay be configured for zooming in and zooming out (e.g., using pinch zoomgestures, etc.) to obtain a closer view of the metrics.

Furthermore, in some embodiments, the metrics that are displayed withinthe interface 1155 correspond to the reports that the server 120generates. In some embodiments, the server 120 may periodically updatethe reports that the customer may view on the interface 1155. In otherembodiments, the interface 1155 may include an update feature that thecustomer may interact with to download the latest versions of thereports.

Thus, the interfaces 1100, 1120, 1145, 1150, and 1155 of the customermobile application may be used by the customer to view, monitor, andtake action related to various events that may occur within the building105. It is to be understood that the configuration of each of theinterfaces 1100, 1120, 1145, 1150, and 1155 may vary from one embodimentto another. For example, the arrangement, shape, size, color, and otherattributes of the various features within each of the interfaces 1100,1120, 1145, 1150, and 1155 may vary from one embodiment to another. Insome embodiments, certain features may be configurable that the customermay customize. Additionally, the interfaces 1100, 1120, 1145, 1150, and1155 may be used to display fewer, additional or different informationfrom what has been discussed above, if such information is needed orconsidered desirable for the customer to have.

A flowchart outlining a process 1200 performed by the gateway 115 incommunicating sensor data from the sensors 110 to the server 120 isshown in FIG. 12, in accordance with some embodiments of the presentdisclosure. The process 1200 starts at operation 1205. After installingthe building monitoring system 100 within the building 105, duringnormal operation of the sensors 110 and the gateway 115, the gatewayreceives sensor data from the sensors at operation 1210. As mentionedabove, the gateway 115 may receive the sensor data from the sensors 110periodically, continuously as the sensor sense conditions, or on demandby the gateway. Furthermore, the sensor data from the sensors 110 issent to the gateway 115 via the communication link 170.

Upon receiving the sensor data from the sensors 110, the gateway 115buffers the sensor data at operation 1215. In some embodiments, thegateway 115 may buffer the sensor data for a specific period of time,for example, until the gateway successfully transmits that sensor datato the server 120 via the communication link 175 at operation 1220. Inother embodiments, the gateway 115 may buffer the sensor data for agiven period of time (e.g., forty eight hours) even though the sensordata may have been successfully transmitted to the server 120. In yetother embodiments, the gateway 115 may be configured such that thesensor data is buffered only when the gateway is unable to establish asuccessful connection to the server 120 or unable to transmit the sensordata to the gateway after establishing a successful connection to theserver. Thus, the buffering of the sensor data from the sensors 110within the gateway 115 may vary from one embodiment to another.

Furthermore, the mechanism of buffering the sensor data within thegateway 115 may vary from one embodiment to another. For example, insome embodiments, the gateway 115 may be configured with a built-inbuffering mechanism that the gateway may use to buffer the sensor data.In other embodiments, the gateway 115 may be configured to operate incombination or conjunction with an external buffering mechanism that thegateway may use to buffer the sensor data. In yet other embodiments, thegateway 115 may use a combination of built-in and external bufferingmechanisms to buffer the sensor data.

At the operation 1220, the gateway 115 transmits the sensor data to theserver 120. To transmit the sensor data to the server 120, in someembodiments, the gateway may first establish a communication link withthe server. In other embodiments, the gateway 115 may have a continuouscommunication link with the server 120, even when the gateway is nottransmitting the sensor data to the server. Furthermore, the gateway 115may either transmit the sensor data substantially immediately to theserver 120 as the gateway receives that sensor data from the sensors110, or in some embodiments, the gateway may aggregate sensor data overa period of time (e.g., by buffering) and then transmit the aggregatedsensor data periodically.

Upon successfully transmitting the sensor data to the server 120, thegateway 115 continues to monitor the sensors at operation 1225 for newsensor data. The gateway 115 may, in some embodiments, also clear (e.g.,delete) the buffered sensor data once that sensor data has beensuccessfully transmitted to the server 120, as mentioned above. Theprocess 1200 ends at operation 1230.

A process 1300 outlining the operations performed by the server 120 inanalyzing the sensor data is shown in FIG. 13, in accordance with someembodiments of the present disclosure. The process 1300 starts atoperation 1305. At operation 1310, the server 120 receives the sensordata from the gateway 115, as described above with respect to theoperation 1220. Upon receiving the sensor data from the gateway 115, theserver 120 stores the sensor data for analysis at operation 1315. Inaddition to storing the sensor data, the server 120 provides that sensordata to the analytics system 355 for analyzing the sensor data fordetecting any undesirable conditions and threats, as well as forcreating and updating various reports.

Thus, at operation 1320, the server 120 analyzes the sensor data via theanalytics system 355. Again, in some embodiments, the analytics system355 may be a part of the server 120, while in other embodiments, theanalytics system may be a separate component in communication with theserver. The analytics system 355 may use a variety of mechanisms toanalyze the sensor data. For example, as discussed above in FIGS. 4-5B,the analytics system may use neural or Bayesian networks to analyze thesensor data for detecting threats at operation 1325. Alternatively oradditionally, in some embodiments and as discussed in FIGS. 6A-6B, theanalytics system 355 may analyze sensor data individually (e.g., bysensors data type), and/or aggregate sensor data to detect undesirableconditions and/or predict a threatening condition at the operation 1325.

In some embodiments, detecting undesirable conditions and threats mayinclude detecting hazardous conditions within the building 105. In otherembodiments, detecting undesirable conditions and threats may includedetecting malfunctions within the gateway 115 and/or the sensors 110.The malfunctions within the gateway 115 and/or the sensors 110 may bedetected by the analytics system (e.g., by virtue of detecting anomaliesin the sensor data) and/or by another component of the server (e.g., byvirtue of failure to receive sensor data from the sensors 110 via thegateway 115).

If the analytics system 355 detects any undesirable conditions and/orthreats at the operation 1325, the analytics system may notify theserver 120 of those undesirable conditions and/or threats, and theserver may issue appropriate notifications at operation 1330. Thenotifications that the server 120 issues may be dependent upon the typeof undesirable condition and/or threat that is detected. In someembodiments, the notifications may include alerts when undesirableconditions are detected and alarms when threats are detected.Furthermore, in some embodiments, the server 120 may apply an escalationmethod, such that upon detecting an undesirable condition and/or threat,the server first notifies the customer (or installer, as the case maybe). If the server 120 is unable to contact the customer/installer, theserver may then contact an emergency response center. Thus, by firstnotifying the customer/installer, the server 120 avoids false alarms tothe emergency response center.

Furthermore, the mode of the notifications may vary from one embodimentto another. In some embodiments, the notifications may be sent via textmessage, e-mail message, message via social media, multi-media or simpletext message, phone call, audible and/or visual alarms, etc. In someembodiments, the server 120 may have the ability to override certainsettings at the user interface 125 when issuing notifications. Forexample, in some embodiments, the server 120 may be configured toun-silence a customer's mobile device (e.g., the second mobile device190C) when a notification is issued to the customer. Likewise, theserver 120 may be able to override “do not disturb” settings, or othersettings that may prevent the server 120 from delivering the issuednotifications to the customer/installer.

Additionally, the conditions for which the server 120 issues alerts andalarms may be programmed within the server. For example, in someembodiments, the server 120 may be programmed to issue alerts forabnormally low temperatures, freezing temperatures, abnormally high orlow humidity, abnormally high or low temperatures, abnormally high smokelevels, abnormally high carbon monoxide levels, doors left open that arenormally closed, and doors left closed that are normally open. In otherembodiments, other, fewer, or additional conditions may be programmedinto the server 120 for issuing alerts.

Likewise, the conditions for which the server 120 issues an alarm may beprogrammed within the server. For example, in some embodiments, theserver 120 may be programmed to issue alarms for when smoke alarms areactivated, when a threshold is reached for a smoke heat alarm, when thesmoke heat alarm is rising at a specific rate, freezing temperaturealarm, and carbon monoxide alarm. Additional, fewer, or different alarmsmay be programmed within the server 120. Similarly, the server 120 maybe programmed to issue maintenance alerts, such as sensor tamper alerts,sensor low battery alerts, sensor offline alerts, smoke alarmcommunication fault alerts, smoke alarm non-functional sounder alerts,smoke alarm test fault alerts, smoke alarm head fault alerts, smokealarm end of life alerts, smoke alarm contamination alerts, gateway onbattery power alerts, gateway hardware fault alerts, etc.

In addition to issuing notifications of detected undesirable conditionsand/or threats at the operation 1330, the server 120 compiles variousreports at operation 1335, as discussed above in FIGS. 7A-8E. In someembodiments, the server 120 may compile reports only when undesirableconditions and/or threats are detected. In other embodiments, the server120 may compile reports every time new sensor data is received, or whenthe sensor data indicates undesirable conditions and/or threats.

The type and parameters of the reports may also vary from one embodimentto another. Further, in some embodiments, the server 120 may compiledifferent types of reports based upon the reviewer of those reports. Forexample, the server 120 may compile one or more reports for theinstaller of the building monitoring system 100 that the installer mayuse to monitor the health of the building monitoring system. In otherembodiments, the server 120 may compile reports for the customer thatthe customer may use to monitor the status of various conditions (e.g.,temperature, humidity, etc.) within the building 105, as well as thestatus of the sensors 110 and the gateway 115. In yet other embodiments,the server 120 may compile reports that the emergency response crew mayuse to detect various threat patterns, etc. Furthermore, some of thereports generated by the server 120 may be configured to be shared bymultiple types of reviewers, while other reports may be configured tonot be shared with certain types of reviewers. For example, in someembodiments, the reports generated for use by the customer and theemergency response crew may be configured such that those reports areinaccessible by the installer. Thus, the reports generated by the server120 may vary from one embodiment to another.

The process 1300 then ends at operation 1340 with the server 120continuing to receive sensor data, analyzing the sensor data forthreats, issuing appropriate notifications, and compiling variousreports.

FIG. 14 is a flowchart outlining a process 1400 for installing thebuilding monitoring system 100 within the building 105 using theinstaller mobile application is shown, in accordance with someembodiments of the present disclosure. The process 1400 of installingthe building monitoring system 100 is facilitated by an installer usingthe installer mobile application upon starting at operation 1405. Forexample, to install the building monitoring system 100 within thebuilding 105, the installer scans the identification codes (e.g., quickresponse code) of each of the sensors 110. In some embodiments, theinstaller may scan the identification codes using the camera or otherfeature of the mobile device (e.g., the first mobile device 190B) and/orthe installer mobile application. In other embodiments, other methods ofscanning the identification codes may be used.

Furthermore, the installer may scan the identification codes of thesensors 110 before or after installing (e.g., mounting) those sensors invarious locations of the building 105. The scanned identification codesare received by the installer mobile application at operation 1410. Uponreceiving the scanned identification codes of the sensors 110, theinstaller mobile application programs the gateway 115 with thoseidentification codes at operation 1415. For example, programming thegateway 115 with the identification codes includes sending the scannedidentification codes to the database (e.g., the account database 370 ofFIG. 3). The server 310 (specifically the second server 330) then copiesthe database including the identification codes to the gateway 115. Inother embodiments, the installer mobile application may be configured todirectly save the identification codes within the gateway 115, alongwith sending those identification codes to the second server 330 forstoring within the account database 370.

Additionally, in some embodiments, the installer mobile application maybe configured to program the identification code one at a time withinthe gateway 115 by scanning the identification code, sending theidentification code to the second server 330 to store in the accountdatabase 370, coping the account database within the gateway, andrepeating the process for the next identification code. In otherembodiments, the installer mobile application may additionally orinstead be configured to scan all of the identification codes, send theidentification codes in a single transaction to the account database370, and copy the account database 370 into the gateway 115 in anothersingle transaction, thereby programming the gateway in a single step. Itis to be understood that “copying the account database 370” to thegateway includes copying only those portions of the account databasethat contain the identification codes. As discussed above, in someembodiments, the account database 370 may also include personal customerinformation, which need not be copied into the gateway 115.

At operation 1420, the installer mobile application receivesverification that the newly installed sensors (e.g., the sensors 110)are communicating and sending sensor data to the gateway 115. In someembodiments, the installer mobile application receives verification inthe form of a specific message (sent from either or both of the server120 and the gateway 115) displayed within an interface of the installermobile application. In other embodiments, the installer may see sensordata or other sensor information from the newly installed sensor listedwithin an interface (e.g., the interface 1080) of the installer mobileapplication.

Thus, by virtue of copying the identification codes of the sensors 110within the gateway 115, the gateway may be programmed to start receivingsensor data from the sensors 110. Furthermore, in some embodiments, thegateway 115 may be installed (e.g., mounted) before or after programmingthe gateway with the identification codes of the sensors 110.Additionally, in some embodiments in which the building monitoringsystem 100 is first being installed, the gateway 115 may need additionalprogramming to associate the gateway with a specific building monitoringsystem account. In other embodiments, and particularly in thoseembodiments in which the building monitoring system 100 is alreadyinstalled and the process 1400 is used to add or replace sensors (e.g.,the sensors 110), the gateway 115 may already be programmed with thebuilding monitoring system account information and installed within thebuilding 105. In those cases, merely programming the gateway 115 withthe identification codes of the newly installed instances of the sensors110 may be sufficient to install and link those sensors with thegateway, and with the building monitoring system account.

However, when the building monitoring system 100 is first installed, theinstaller creates a building monitoring system account for the customerand associates the gateway 115 with that account. The creation of thebuilding monitoring system account and association of the gateway 115with the building monitoring system account may occur either before orafter programming the gateway with the identification codes of thesensors 110. To create the building monitoring system account, theinstaller mobile application receives account information at operation1425 using an interface (e.g., the interface 1090) of the installermobile application. Account information may include name, address,contact information, and any other information of the customer that maybe needed or considered useful. At operation 1430, the installer mobileapplication transmits the account information to the server 310 and,particularly to the second server 330. The second server 330 creates thebuilding monitoring system account for the customer, and stores thebuilding monitoring system account within the account database 370.

Creating the building monitoring system account also includesassociating the gateway 115 with the building monitoring system account.In some embodiments, the gateway 115 may be associated with the buildingmonitoring system account by scanning an identification code of thegateway (e.g., using the installer mobile application), and sending thatidentification code to the second server 330. The second server 330 maythen associate the gateway 115 with the building monitoring systemaccount by associating the identification code of the gateway with thebuilding monitoring system account. Again, the building monitoringsystem account may be created either before or after copying theidentification codes of the sensors 110 into the gateway 115.Additionally, associating the gateway 115 with the building monitoringsystem account may occur either before or after copying theidentification codes of the sensors 110 within the gateway.

Furthermore, in some embodiments in which the building monitoring systemaccount already exists and the gateway 115 is already associated withthe building monitoring system account (e.g., when the process 1400 isused to install a new sensor in an existing building monitoring system),the operations 1425 and 1430 may be skipped. Thus, the process 1400 maybe used to install a new instance of the building monitoring system 100within the building 105. The process 1400 may also be used to installnew sensor(s) (e.g., the sensors 110) and new gateway(s) (e.g., thegateway 115) within an existing building monitoring system. New sensorsmay be installed by scanning the identification codes of the new sensorsand programming the identification codes within the gateway 115. Newgateways may be installed by associating the gateway with the existingbuilding monitoring system account and programming the gateway with theidentification codes of the sensors with which the gateway is tocommunicate and collect sensor data from.

Thus, by using the installer mobile application, an installer may easilyand conveniently install new building monitoring systems, and/or upgradeexisting building monitoring systems. The process 1400 ends at operation1435.

FIG. 15 is a flow chart of a process 1500 for installing an instance ofthe building monitoring system 100 is outlined, in accordance with someembodiments of the present disclosure. The process 1500 outlinesoperations that are performed by the server 310, and particularly, thesecond server 330 in installing the building monitoring system 100. Theprocess 1500 is triggered by the process 1400. The process 1500 startsat operation 1505. At operation 1510, the second server 330 receives theidentification codes of the sensors 110 that are transmitted by theinstaller mobile application at the operation 1415. The second server330 stores the identification codes within the account database 370 atoperation 1515, and copies the account database (e.g., relevant portionsof the account database) within the gateway 115 at operation 1520.

At operation 1525, the second server 330 receives the accountinformation sent by the installer mobile application at the operation1430 for creating a new building monitoring system account. The secondserver 330 creates the building monitoring system account and associatesthe account information with the building monitoring system account. Atoperation 1530, the second server 330 stores the building monitoringsystem account within the account database 370, and at operation 1535,the second server associates the gateway 115 with the buildingmonitoring system account. Again, to associate the gateway 115 with thebuilding monitoring system account, the second server receives anidentification code of the gateway, and associates that identificationcode with the building monitoring system account.

It is to be understood that the operations 1525, 1530, and 1535 areperformed only when a new building monitoring system account is created.In those cases where only new sensors are installed, a buildingmonitoring system account may already exist and need not be createdagain. When new gateways are installed, the operations 1525 and 1530 maybe skipped. Thus, the process 1400 is used in conjunction with theprocess 1500 for creating, managing, and updating the buildingmonitoring system 100. In some embodiments, the process 1400 may beperformed by the customer instead of the installer.

Thus, the present disclosure provides a building monitoring system(e.g., the building monitoring system 100) that easily and convenientlymonitors for a variety of undesirable conditions and threats within abuilding (e.g., the building 105). The building monitoring system 100also provides a convenient and effective mechanism to monitor the healthand status of various components (e.g., the sensors 110 and the gateway115) of the building monitoring system automatically and without humanintervention.

The analytics system 355 of the building monitoring system 100 isconfigured for early detection of several kinds of threats. Thus, thebuilding monitoring system 100 provides constant (twenty four hours aday, seven days a week) monitoring of a building (e.g., the building105) at a fraction of cost, while reducing false alarms. Also, bydetecting the threats early, the building monitoring system 100 mayfacilitate contact with the customers, installers, and/or emergencyresponse centers early, thereby preventing or at least mitigating damagefrom those threats.

Additionally, in some embodiments, by issuing notifications of alertsand alarms to customers, the building monitoring system 100 mayencourage people to understand and change their behaviors (e.g., notleaving kitchen unattended when cooking), thereby avoiding threats(e.g., fires). By reducing damages caused by the various threats, insome embodiments, losses from insured events may be greatly reduced.

Various embodiments described herein can be used to monitor conditionswithin a building, as discussed above. A building monitoring systemsimilar to the monitoring system discussed above may also include aresponse system 1600 as shown in FIG. 16. The response system 1600includes a sensory node 1605, a sensory node 1610, a sensory node 1615,and a sensory node 1620. In alternative embodiments, additional or fewersensory nodes may be included. The response system 1600 also includes adecision node 1625 and a decision node 1630. Alternatively, additionalor fewer decision nodes may be included. In alternative embodiments, theresponse system 1600 may include additional, fewer, and/or differentcomponents.

The sensory nodes 1605-1620 may sense one or more conditions of abuilding such as temperature, smoke obscuration, occupancy, motion, etc.The sensory nodes 1605-1620 and the decision nodes 16920 and 1625 maycommunicate with one another, as well as with a computing system 1645and an emergency response center 1640 via a network 1635. As discussedin related U.S. Pat. No. 9,679,255, filed on Apr. 15, 2016, a combinedaverage of a short-term sensor data, mid-term sensor data, and long-termsensor data can be used to determine a setpoint of the sensor data(e.g., a temperature of a room). Standard deviations from the combinedaverage can be used to determine alarm setpoints that change over time(e.g., as the sensor data is updated).

Turning now to FIG. 17, a map of a building 1700 is shown, in accordancewith some embodiments of the present disclosure. The map shows variousrooms of a house within the building 1700. Concentric circles 1705 showthe location of smoke sensors, “M” sensors 1710 show the location ofmotion detectors, and “CO” sensor 1715 show the location of a carbonmonoxide sensor. Readings from the various sensors 1705-1715 aretransmitted to a central processing server that monitors the conditionsof the building 1700 while the building is set on fire (or encountersanother hazardous condition). Thus, in the building 1700, nine signalsare monitored: four temperature level signals, four smoke obscurationlevel signals, and one carbon monoxide level signal. In otherembodiments, the locations of the sensors 1705-1715 within the building1700, as well as the number and type of sensors may vary. Similarly, thenumber of areas (e.g., bedrooms, etc.) that are monitored by the varioussensors may vary from one embodiment to another.

FIGS. 18A-18D are flow charts outlining operations for monitoring abuilding in accordance with an illustrative embodiment. “Mad3” refers tothe combined average of the short-term sensor data, mid-term sensordata, and long-term sensor data (or similar), as described in U.S.application Ser. No. 15/099,786. As in FIG. 18A, one month oftemperature data is used to determine a standard deviation and agoodness of fit (GoF). A fixed upper control limit (UCL) can bedetermined based on the goodness of fit, the standard deviation, thelong term average, etc. For each measurement, a 30-minute moving averageand a 3-hour moving average are determined, which can be used (e.g.,along with the month-long average) to determine the Mad3 number. TheMad3 can be used to determine the upper control limit. If the currentmeasurement is above the upper control limit, the severity of themeasurement can be determined to be adverse. FIG. 18A shows use oftemperature data, but in alternative embodiments, any suitable type ofdata can be used (e.g., measurements from other types of sensors). Theseverity can be determined by dividing the current value by the uppercontrol limit. The severity can be monitored to determine an abnormalcondition. For example, although a severity of less than 1 is not abovethe UCL, as the severity approaches 1, it may indicate that thecondition of the building is approaching an abnormal condition.

FIG. 18B is a flow chart similar to that of FIG. 18A, but shows a flowchart that can be used with smoke obscuration data. As shown in FIG.18B, a one-month mean for each sensor and for all of the smoke sensorscan be determined, and those means can be used to determine anobscuration fixed upper-control limit (e.g., similar to that of FIG.18A). Further, for each measurement, the Mad3 can be determined and usedto set an upper control limit and determine when the smoke obscurationis at an abnormal level. FIG. 18C is a flow chart similar to that ofFIG. 18B, but can be used for carbon monoxide.

FIG. 18D is a flow chart that shows how the various severity of thevarious sensors can be used in combination to determine an overallseverity (e.g., determine whether an abnormal condition exists in thebuilding). Although FIG. 18D is for the data of the map of FIG. 17, themethod can be adapted to more or different sensors. FIG. 18D shows thateach severity determination can be used as an input into a “neuron.”

FIG. 19 is a flow chart for a neuron for determining a chance of fire inaccordance with an illustrative embodiment. Although FIG. 19 is a flowchart for the specific building, the method can be adapted for any otherbuilding with any suitable number or types of sensors. As shown in FIG.19, the severity for each sensor type can be combined and subtractedfrom the mean severity (e.g., the Mad3 for that sensor type) and inputinto a cumulative distribution function (CDF) to convert the severity toa 0-1 value. The output from the CDF can be multiplied by acorresponding weight to determine a neural input. The weight for thevarious sensor type can be determined using any suitable method such asby experiment, etc. The neural input from each sensor type (or eachsensor) can be input along with a multiplier associated with a locationof the sensor and the type of sensors (e.g., “3” if three types ofsensors are used) to determine a fire prediction number. For example,the location sensor multiplier can be a weight that adjusts for thelocation of the sensors. In one example, an indication of smoke in thekitchen is less indicative of an emergency than smoke in a bedroombecause the kitchen may receive more false alarms (e.g., due to burnedpizza rather than an emergency). In an illustrative embodiment, thelocation of sensor multiplier can be performed at the sensor or appliedto the number received from the sensor and can be based on observationsfrom numerous sensors from other buildings.

The fire prediction node of FIG. 19 can look at any suitable time framesuch as 3, 6, 12 minutes, etc. In one embodiment, the time window can beadjusted. For example, the fire prediction node can look at all sensordata received since one of the sensor severities became greater than 1.In an illustrative embodiment, the sensitivity of the sensors can beadjusted (e.g., increased) once the severity of another sensor becamegreater than 1. In an illustrative embodiment, the sensitivity of thesensors can be reduced once per 3 minutes (e.g., eventually back to a“normal” state) or increased once per 4 seconds (e.g., while a severityis greater than 1).

A summary of one embodiment of FIG. 19 is provided below: The method“wakes up” when any sensor in the building measures a Mad3 severitygreater than 1. As sensors detect more severities greater than 1 (e.g.,as the fire or other emergency spreads), the probability that there isan emergency increases. A set of “activation functions” can be used toscale the severities to be from 0 to 1 (e.g., via the CDF) because theseverity number can be from 0 to a number higher than 1 that can be usedin an exponential probability density function. In FIG. 19, the smoke,carbon monoxide, and the temperature severities can be modeled by anexponential fit, which can, in turn, be used to generate a CDF. In anillustrative embodiment, the CDF for an exponential fit is:

$1 - e^{({- \frac{{Severity} - 1}{{Mean}\mspace{14mu} {{of}\mspace{14mu}\lbrack{{Severity} - 1}\rbrack}}})}$

As mentioned above, the sensitivity (e.g., rate of sensing) can beincreased when an abnormal condition exists (e.g., sensitivity >1). Forexample, the normal measurement rate can be one to three measurementsper minute that is sent for processing. In the embodiment of FIG. 17,the normal amount of measurements can be 9-27 inputs per minute. Duringan alarm condition, each sensor can take a measurement once per fourseconds, which increases the number of measurements processed per minuteto from 45 and 180 inputs into the neuron of FIG. 19. In the embodimentof FIG. 19, emergency services can be called once the fire predictionnumber (e.g., the combined weighted number) is greater than 8.

In an illustrative embodiment, a fire probability function can be:

FirePrediction=1−e ^(−(BuildingSeverity)/(FireProbabilityFactor))

where the BuildingSeverity can be the number from the method of FIG. 19,and the FireProbabilityFactor can be a set (or adjustable) number suchas “3.” In an illustrative embodiment, once the FirePrediction isgreater than 0.8 (e.g., 80%), it can be determined that a fire probablyexists.

In an illustrative embodiment, the determined severity factors frommultiple locations and from multiple incidents may be helpful foranalysis by insurance companies to more determine how abnormalconditions arise. Similarly, firefighters may be interested to look atthe data to determine how bad/severe a fire in a building is as theyfight a building's fire. The severity can be standardized so that, forexample, a fire fighter knows that a “1,000 fire” is a very severe fire,but a “10 fire” is relatively minor. The neural network can be used toprovide an appraisable of a condition (e.g., a fire), not just the data.That is, the neural network can process all of the sensor data into anumber or an indication that is helpful to humans. For example, if giventhe raw data, a fire fighter may not be able to process all of the datato determine what is happening within a building. But, the describedmethods can synthesize the data into a useable number that can bequickly understandable by a human.

In other embodiments, the sensory nodes 1605-1620 can be used for anyother suitable purposes. For example, the sensors can be used to monitorone or more people within a house to allow someone to “age-in-place.” Aspeople get older, they often require assistance. For example, assistedliving facilities provide some assistance to elderly people who do notneed to be in a nursing home, but do need some monitoring. Someembodiments can monitor people for abnormal conditions, thereby allowingthem to live in their homes longer (e.g., without having to move to anassisted living facility). For example, motion sensors can track aperson within their house. The system can use a learning algorithm tolearn the typical or normal situations. The system can then compare thepresent conditions to the “normal” conditions to determine thatsomething is not normal. For example, if a person typically showers forten minutes each morning, and the person has been in the shower fortwenty minutes this morning, an alarm can be sent with an indicationthat the person may be in trouble (e.g., fell in the shower). In anotherexample, if a person typically leaves the house once per week forgroceries, and the person hasn't left the house for two weeks, thesystem can send an alert to have another person check in to see if theperson forgot to go to the grocery store (e.g., and does not have foodto eat). Motion sensors, infrared sensors, humidity detectors, carbonmonoxide detectors, power detectors, etc. can be used to monitor normalconditions in a house over time.

For example, people can be identified based on their movements, infraredsignature, etc. using a machine learning algorithm. Further, quality oflife measurements can be determined based on the amount/type ofmovement. For example, if it takes a person 30 minutes to move from achair to a bathroom, it may be determined that the person should haveassistance moving around. In some instances, the people can be trackedusing the sensory nodes 1605-1620. For example, people with Alzheimer'scan be prone to wandering off while confused. The sensory nodes1605-1620 can track such people and determine when someone should becalled to assist the person (e.g., as they begin to wander off of apremises in the middle of the night). Such systems can be used toproduce reports for doctors to determine a course of treatment (orwhether patients should be more or less confined, moved to a more orless restrictive environment, etc.). For example, a mobility score canbe produced for doctors as an indication of a person's ability to movearound the house.

Similarly, in some instances, location of people can be monitored inemergency situations. For example, active shooters can be determinedbased on the movements of the active shooter (e.g., different than therest of the crowd that is running away, etc.), sounds (e.g., gunshots),etc. The shooters can be tracked as they move though a building, andtheir location can be communicated to emergency personnel (e.g.,police). Further, the location of other individuals (e.g., victims,people running or hiding, etc.) can be determined and communicated toemergency personnel as the situation progresses.

In some embodiments, the response system 1600 can be integrated withother systems. For example, the system can be integrated with an alarmsystem to automatically arm or disarm the alarm system. For example,mobile devices of household residents can communicate with the system ofFIG. 16 and/or the alarm system. Once one person arms the system, theother household members can be notified as such via their respectivemobile devices. Similarly, once an alarm condition exists, and onemember acknowledges the alarm, the other members can be notified thatthe one member acknowledged the alarm. In some embodiments, the variouscommands can be verbal. For example, microphones in smoke detectors (orother sensors) can be used to monitor for commands. In one instance, ahousehold member can open a door, thereby setting off a security alarm,and the household member can audibly say, for example, “Oh, sorry, it'sjust me again.” Various microphones can record the household member,compare the voice/words to a database and determine that the alarmshould be disabled (e.g., via voice recognition or matching the words toa stored passcode).

In one embodiment, one or more of the sensors 1605-1620 can be used tomonitor water usage of a building. The response system 1600 can includeone or more water valves (e.g., a main water shutoff, valves in waterpipes of a house, etc.). The system can use motion detectors todetermine that nobody is home (or active), that a water sensordetermines an abnormal condition (e.g., a sump pump turns on, a waterlevel is too high, a water flow in a pipe is too high, etc.), and theresponse system 1600 can automatically turn off the water supply (e.g.,via the water valves)

In some embodiments, the response system 1600 can alert users via uniquesounds. For example, many people have become desensitized to alarms fromtheir mobile phones. Thus, unique sounds can be used to alert a userthat the mobile phone is trying to notify the user of a serious event.For example, a text message can be sent to users of a house once anabnormal condition arises. But, a normal text message alert may beignored. Thus, when the mobile phone receives a text message from theresponse system 1600 (e.g., based on number that sent the message), themobile phone can use a unique sound to alert the user that the textmessage is of greater importance than a typical text message. In someembodiments, the sounds can escalate with the severity of the condition.For example, if the first text message is ignored, a more urgent soundor notification can be sent. If the second message is also ignored, aneven more urgent sound can be used (e.g., increase volume, type ofsound, sharpness of the sound, uniqueness of the sound, etc.)

In some embodiments, the response system 1600 includes the sensory nodes1605-1620 that monitor a cooling system such as a refrigerator or afreezer. Some cooling systems are used to maintain safe conditions(e.g., for food, for biological samples, antibiotics, etc.). The sensorynodes 1605-1620 can monitor conditions such as the temperature insidethe cooled environment, whether a door is opened or closed, a motionsensor around the cooler (e.g., to determine whether someone is stillaround the cooler), a power sensor (e.g., to monitor the duty cycle of amotor of the cooler), etc. For example, the duty cycle of the motor of acooler can be monitored to determine the efficiency of the cooler anddetermine whether maintenance (e.g., preventative maintenance) may beneeded. For example, if the cooler motor is running more often or longerwith no change in setpoint temperature, it may be determined by thesystem 100 that the cooler may need to be checked, the motor replaced,etc. Similarly, if a door is left open for a predetermined period and nomotion is detected in the area (e.g., no active loading/unloading), itcan be determined that the door of the cooler was accidentally left openand an appropriate notification can be sent out. In some embodiments,humidity sensors within the cooler can be used to monitor conditions.Humidity can be monitored to determine that a door has been left open, aseal is not functioning correctly, etc. Similarly, constant or periodicmonitoring of the temperature (or other aspects) can be recorded. Therecordings can be used to assist in audits or inspections (e.g., tocomply with regulations, laws, procedures, etc.).

Such a system can also be used for security purposes. For example,learning algorithms can be used to learn “normal” conditions over time.Sensed conditions that are outside of the “normal” range can be used toalert users to such conditions. For example, if a door is normally onlyopened during normal business hours, and a door is opened at 3:00 am,such a condition can be included in a notification to a user (e.g., asan indication that someone has broken in).

Related U.S. application Ser. No. 15/728,629, filed on Oct. 10, 2017,which is incorporated herein by reference in its entirety, includes adescription of some embodiments that monitor an uninterrupted powersupply (UPS). A UPS system may require to be available 100% of the timewith no downtime. Thus, such systems may require better monitoring thanis currently available. For example, monitoring of outgassing ofbatteries can be helpful to determine when to replace batteries.However, most such sensors are expensive. In an illustrative embodiment,a typical carbon monoxide detector may be used to monitor H₂. That is,the sensing component of a typical carbon monoxide (CO) detector canreact similar to concentrations of hydrogen (H₂) as it does for CO. Suchcarbon monoxide detectors can be more accurate than industrial H₂sensors (which are also much more expensive than typical carbon monoxidesensors). Thus, by using a cheaper, more effective sensor for monitoringH₂, more sensors can be used for the same (or lower cost) therebyincreasing the effectiveness and reliability of the system

In some embodiments, the response system 1600 can be used to monitorburied systems. For example, at road intersections, many crosswalks havetreads that are used by the visually disabled to indicate thelocation/direction/conditions of the crosswalk. Underneath the treads orplates can be stored equipment for monitoring or managing the crosswalk.For example, electronics can be stored under the treads or plates thatmanages lights, crosswalk indicators, cameras, speeding indicators, etc.IN some instances, the electronics can provide a wireless (e.g., WiFi)communication network to users above (e.g., on the surface, walking by,etc.). The system 100 can be used to monitor the housing that encasesthe electronics. For example, the system 100 can include water sensors,water level indicators, humidity sensors, temperature sensors, tamperingsensors, power consumption, battery (UPS) quality, etc. The responsesystem 1600 can be used to ensure that the equipment is in a suitableenvironment. If the response system 1600 detects abnormal conditions,the response system can notify users using any suitable means. Forexample, the system 100 and/or the electronics being monitored cancommunicate via WiFi, wireless cellular network, etc.

The herein described subject matter sometimes illustrates differentcomponents contained within, or connected with, different othercomponents. It is to be understood that such depicted architectures aremerely exemplary, and that in fact many other architectures can beimplemented which achieve the same functionality. In a conceptual sense,any arrangement of components to achieve the same functionality iseffectively “associated” such that the desired functionality isachieved. Hence, any two components herein combined to achieve aparticular functionality can be seen as “associated with” each othersuch that the desired functionality is achieved, irrespective ofarchitectures or intermedial components. Likewise, any two components soassociated can also be viewed as being “operably connected,” or“operably coupled,” to each other to achieve the desired functionality,and any two components capable of being so associated can also be viewedas being “operably couplable,” to each other to achieve the desiredfunctionality. Specific examples of operably couplable include but arenot limited to physically mateable and/or physically interactingcomponents and/or wirelessly interactable and/or wirelessly interactingcomponents and/or logically interacting and/or logically interactablecomponents.

With respect to the use of substantially any plural and/or singularterms herein, those having skill in the art can translate from theplural to the singular and/or from the singular to the plural as isappropriate to the context and/or application. The varioussingular/plural permutations may be expressly set forth herein for sakeof clarity.

It will be understood by those within the art that, in general, termsused herein, and especially in the appended claims (e.g., bodies of theappended claims) are generally intended as “open” terms (e.g., the term“including” should be interpreted as “including but not limited to,” theterm “having” should be interpreted as “having at least,” the term“includes” should be interpreted as “includes but is not limited to,”etc.). It will be further understood by those within the art that if aspecific number of an introduced claim recitation is intended, such anintent will be explicitly recited in the claim, and in the absence ofsuch recitation no such intent is present. For example, as an aid tounderstanding, the following appended claims may contain usage of theintroductory phrases “at least one” and “one or more” to introduce claimrecitations. However, the use of such phrases should not be construed toimply that the introduction of a claim recitation by the indefinitearticles “a” or “an” limits any particular claim containing suchintroduced claim recitation to inventions containing only one suchrecitation, even when the same claim includes the introductory phrases“one or more” or “at least one” and indefinite articles such as “a” or“an” (e.g., “a” and/or “an” should typically be interpreted to mean “atleast one” or “one or more”); the same holds true for the use ofdefinite articles used to introduce claim recitations. In addition, evenif a specific number of an introduced claim recitation is explicitlyrecited, those skilled in the art will recognize that such recitationshould typically be interpreted to mean at least the recited number(e.g., the bare recitation of “two recitations,” without othermodifiers, typically means at least two recitations, or two or morerecitations). Furthermore, in those instances where a conventionanalogous to “at least one of A, B, and C, etc.” is used, in generalsuch a construction is intended in the sense one having skill in the artwould understand the convention (e.g., “a system having at least one ofA, B, and C” would include but not be limited to systems that have Aalone, B alone, C alone, A and B together, A and C together, B and Ctogether, and/or A, B, and C together, etc.). In those instances where aconvention analogous to “at least one of A, B, or C, etc.” is used, ingeneral such a construction is intended in the sense one having skill inthe art would understand the convention (e.g., “a system having at leastone of A, B, or C” would include but not be limited to systems that haveA alone, B alone, C alone, A and B together, A and C together, B and Ctogether, and/or A, B, and C together, etc.). It will be furtherunderstood by those within the art that virtually any disjunctive wordand/or phrase presenting two or more alternative terms, whether in thedescription, claims, or drawings, should be understood to contemplatethe possibilities of including one of the terms, either of the terms, orboth terms. For example, the phrase “A or B” will be understood toinclude the possibilities of “A” or “B” or “A and B.” Further, unlessotherwise noted, the use of the words “approximate,” “about,” “around,”“substantially,” etc., mean plus or minus ten percent.

The foregoing description of illustrative embodiments has been presentedfor purposes of illustration and of description. It is not intended tobe exhaustive or limiting with respect to the precise form disclosed,and modifications and variations are possible in light of the aboveteachings or may be acquired from practice of the disclosed embodiments.It is intended that the scope of the invention be defined by the claimsappended hereto and their equivalents.

What is claimed is:
 1. A building monitoring system comprising: a sensorconfigured to sense a condition and collect sensor data related to thesensed condition; and a server configured to receive the sensor data;wherein the server is configured to analyze the sensor data to detect anundesirable condition and a threat from the undesirable condition withina structure and automatically issue a notification upon detection of theundesirable condition and the threat.
 2. The building monitoring systemof claim 1, further comprising a communication channel configured toestablish a secure communication link between a gateway of the buildingmonitoring system and the server, wherein the gateway receives thesensor data from the sensor and transmits the sensor data to the serverupon establishment of the secure communication link.
 3. The buildingmonitoring system of claim 2, wherein the gateway is configured tobuffer the sensor data when the secure communication link cannot beestablished, and further configured to transmit the buffered sensor datato the server when the secure communication link is established.
 4. Thebuilding monitoring system of claim 1, wherein the server includes afirst server and a second server, and wherein the first server isconfigured to store the sensor data and the second server is configuredto store account information of a user.
 5. The building monitoringsystem of claim 1, wherein the server further comprises an analyticssystem configured to analyze the sensor data and detect a severity ofthe undesirable condition and the threat in substantially real-time. 6.The building monitoring system of claim 1, wherein the server is furtherconfigured to contact an emergency response center upon detection of thethreat.
 7. The building monitoring system of claim 1, wherein the serveris further configured to generate a report based upon the analyzedsensor data.
 8. The building monitoring system of claim 1, furthercomprising a first mobile device having a first mobile application,wherein the first mobile application is configured to install thebuilding monitoring system and manage the building monitoring systemafter installation.
 9. The building monitoring system of claim 1,further comprising a second mobile device having a second mobileapplication, wherein the second mobile application is configured todisplay the analyzed sensor data for use by a user.
 10. A method forusing a building monitoring system, comprising: receiving, by a gatewayof the building monitoring system, sensor data from a sensor installedwithin a building; transmitting, by the gateway, the sensor data to aserver of the building monitoring system; analyzing, by the server, thesensor data to detect an undesirable condition and a threat from theundesirable condition; and automatically issuing, by the server, anotification to one or more users upon detecting the undesirablecondition and the threat.
 11. The method of claim 10, wherein analyzingthe sensor data comprises calculating, by the server, a severity of theundesirable condition and the threat in substantially real-time.
 12. Themethod of claim 11, further comprising, combining past sensor data withcurrent sensor data to detect the severity of the undesirable conditionand the threat.
 13. The method of claim 10, further comprising,generating, by the server, a report using the sensor data; and makingthe report accessible, by the server, on a user interface.
 14. Themethod of claim 10, further comprising: storing the sensor data in afirst server; and storing account information related to a user in asecond server.
 15. The method of claim 10, further comprising,automatically calling an emergency response center upon detecting thethreat.
 16. A method for installing a building monitoring system,comprising: receiving, by a server, an identification code of a sensorto be associated with the building monitoring system; programming, bythe server, a gateway with the identification code, wherein the gatewayis installed in a building to be monitored by the building monitoringsystem; creating, by the server, a building monitoring system accountfor the building; and associating, by the server, the gateway with thebuilding monitoring system account.
 17. The method of claim 16, furthercomprising, storing, by the server, the building monitoring systemaccount within an account database of the server.
 18. The method ofclaim 16, further comprising: storing, by the server, the identificationcode within an account database of the server; and updating, by theserver, the gateway with the account database.
 19. The method of claim16, wherein the server receives the identification code via a mobileapplication installed on a mobile device of a user.
 20. The method ofclaim 19, wherein the server transmits a verification notification tothe mobile application upon programming the gateway with theidentification code.